擴充閱讀
MySQL View
MySQL truncate table 與 delete 清空表的區別和坑
MySQL Ruler mysql 日常開發規範
MySQL datetime timestamp 以及如何自動更新,如何實現範圍查詢
MySQL 06 mysql 如何實現類似 oracle 的 merge into
MySQL 05 MySQL入門教程(MySQL tutorial book)
MySQL 04- EMOJI 表情與 UTF8MB4 的故事
MySQL Expression 1 of ORDER BY clause is not in SELECT list,references column
mysql 中 insert into tableName values() ON DUPLICATE KEY update time=now() 啥意思
在 MySQL 中,INSERT INTO
語句用於向表中插入新的行資料。語法如下:
INSERT INTO tableName (column1, column2, ...)
VALUES (value1, value2, ...)
上述語句中,tableName
是表的名稱,column1, column2, ...
是要插入的列名,value1, value2, ...
是要插入的對應列的值。
而 ON DUPLICATE KEY UPDATE
子句是用於在插入資料時,當遇到主鍵或唯一索引衝突時,執行更新操作。這樣可以避免插入重複的資料,而是更新已存在的行。
在你提供的例子中,ON DUPLICATE KEY UPDATE time=now()
的意思是,當插入資料時,如果出現主鍵或唯一索引衝突,將會更新已存在行中的 time
列為當前的時間戳(使用 now()
函式獲取)。
所以,這個語句的含義是:如果要插入的資料在表中已存在(根據主鍵或唯一索引判斷),則更新已存在行的時間列為當前時間;如果資料不存在,則插入新的行資料。
參考資料
https://github.com/jaywcjlove/mysql-tutorial