1. 程式人生 > >Mysql 建表時報錯 invalid ON UPDATE clause for 'create_date' column

Mysql 建表時報錯 invalid ON UPDATE clause for 'create_date' column

這個錯誤是由於mysql 版本問題導致的

`create_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '建立時間',
  `update_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',

這是建標語句。MySQL 5.5 每個表只允許一個列的預設值根據時間戳生成時間

可以使用觸發器來替代一下:

CREATE TABLE `example` (  
  `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,  
  `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,  
  `lastUpdated` DATETIME NOT NULL,  
  PRIMARY KEY (`id`)  
) ENGINE
=InnoDB; DROP TRIGGER IF EXISTS `update_example_trigger`; DELIMITER // CREATE TRIGGER `update_example_trigger` BEFORE UPDATE ON `example` FOR EACH ROW SET NEW.`lastUpdated` = NOW() // DELIMITER ;

相關推薦

Mysql 時報 invalid ON UPDATE clause for 'create_date' column

這個錯誤是由於mysql 版本問題導致的 `create_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '建立時間', `update_date` datetime DEFAULT NULL ON UPDATE CURRE

mysql多timestamp報#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

column 但是 cor 選項 rec bsp 單表 correct ini 一個表中出現多個timestamp並設置其中一個為current_timestamp的時候經常會遇到#1293 - Incorrect table definition; there can b

Navicat連線mysql時報 Invalid default value for ‘customerID’

  報錯: 查了一下是customerID的值不對的意思。那像其他的一樣改成null吧 取消之後卻是:  因為它是主鍵。。不能空的   其實呢  navicat有sql預覽 可以看到我們最開始本來想複製表名

mysql重灌時報:last error unable to update security settings. access denied for user ‘root’ @ ‘localh

當你們看到這文章時,相信你也遇到了mysql重灌不上的問題了。 last error unable to update security settings. access denied for us

mysql 插入漢字時報 Incorrect string value: 'xE6x9BxB9xE5x86xAC...' for col....

str 使用 需要 memento set like 好習慣 address 數據 Incorrect string value: ‘\xE6\x9B\xB9\xE5\x86\xAC...‘ for column ‘realname‘ at row 1 該情況一般是由數據

Mysql 插入時間時報Incorrect datetime value: '' for column 'createtime'

不能 mysql 可能 amp 數據庫 eol 版本更新 都是 pan 在網上找了很多方法總結如下: 1.MySQL驅動版本的問題。這種一般是在mYSQL版本更新了之後才會報錯。解決方法在jdbc裏添加“&useOldAliasMetadataBehavior=tr

mysql規範及註意事項

關系數據庫 並發 arc float nod 32bit 字符串 8bit 設計 表設計規範 1.庫名,表名,字段名必須使用小寫字母,“-”分割 ,長度不得超過12字符 , 要見名識意 ; 2.建議使用Innodb存儲引擎 (1)什麽是存儲引擎 不同的技術及配套的相關功

Mysql 與查詢

聚焦 null tle ews har title key arch reat -- ID:新聞的唯一標示-- tiltle:新聞的標題-- content:新聞的內容-- created_at:新聞添加的時間-- types:新聞的類型-- image:新聞的縮略圖--

三、MySQL模板

eat arch 結束 刪除 表示 pro exist begin 使用   1. 建表模板   SET FOREIGN_KEY_CHECKS=0;  DROP TABLE IF EXISTS `g_test`;  CREATE TABLE `g_test` (   `i

mysql 導入時報:Got a packet bigger than‘max_allowed_packet’bytes

ger windows packet 通過 ron pan nbsp 窗口 all 原因是max_allowed_packet 值設置過小。 網上說有兩種方法: 方法一,直接修改my.cnf(Linux)或者my.ini(windows)的文件,例如:   max_allo

Mysql的時候創索引

直接 方式 bold gin unique lte pan mys 記錄表 創建表時可以直接創建索引,這種方式最簡單、方便。其基本形式如下: CREATE TABLE 表名( 屬性名 數據類型[完整性約束條件], 屬性名 數據類型[完整性約束條件], ...

node mysql插入中文時報

數據類型 發現 選項 com log 結束 數據 就是 排除 一開始以為是前端傳參、數據類型的問題,於是就直接把sql語句中的參數直接改成字符串值,但發現還是報500錯誤。 所以,這就排除了前端的問題。 剩下的就是數據庫了,發現我的表設置有問題。凡是有中文數據的字段,都得改

MySQL、插入語句等

fault 建表語句 sign 信息 不定 primary 公積金 span 拆遷 不定時更新MySQL的一些基礎語句以及出現過的問題 5.10 建表語句 CREATE TABLE `policy_landvalue` ( `id` int(20) NOT NUL

《高性能MySQL》筆記——MySQL數據類型的選擇

相同 pan 提高 對象 存儲空間 都是 處理 小數據 效率 前段時間看了《高性能MySQL》中的選擇優化的數據類型,這裏主要是做一下筆記。 首先數據選擇有幾個簡單原則: 更小的通常更好。一般情況下,應該盡量使用可以正確存儲數據的最小數據類型。例如只需要存 0~200

《高效能MySQL》筆記——MySQL資料型別的選擇

前段時間看了《高效能MySQL》中的選擇優化的資料型別,這裡主要是做一下筆記。 首先資料選擇有幾個簡單原則: 更小的通常更好。一般情況下,應該儘量使用可以正確儲存資料的最小資料型別。例如只需要存 0~200,tinyint unsigned 更好。更小的資料型別通常更快,因為它們佔

Quartz儲存與持久化--mysql--

Quartz提供兩種基本作業儲存型別。 第一種型別叫做RAMJobStore。 第二種型別叫做JDBC作業儲存。 在預設情況下Quartz將任務排程的執行資訊儲存在記憶體中,這種方法提供了最佳的效能,因為記憶體中資料訪問最快。不足之處是缺乏資料的永續性,當程式路途停止或系統崩潰時,所

連線mysql(和刪)

from sqlalchemy.ext.declarative import declarative_base##拿到父類from sqlalchemy import Column##拿到欄位from sqlalchemy import create_engine ##建立引擎from sq

mysql失敗

今天遇到mysql建表的時候失敗,可是在本地是好的,為什麼同樣的建表指令碼就失敗呢? mysql `date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP 就是這個失敗 原來是sql_mod

MySQL 時的四種key

 key 是資料庫的物理結構,它包含兩層意義,一是約束(偏重於約束和規範資料庫的結構完整性),二是索引(輔助查詢用的)。包括primary key, unique key, foreign key,ke

Laravel做MySQL資料操作時報:SQLSTATE [HY000]: General error: 2036

今天在CentOS作業系統下搭建PHP環境,預設使用的是php-mysql的php資料庫操作驅動,準備讓Laravel專案跑起來時,沒成功,在通過Laravel操作MySQL資料庫時報錯:SQLSTATE [HY000]: General error: 2036 解決方法有兩