[英]TIMESTAMP on UPDATE doesn't work with PHP
我有一個feeddate列,其中包含以下信息。
類型:時間戳
屬性:更新時CURRENT_TIMESTAMP
默認值:CURRENT_TIMESTAMP
當我使用PHP將此代碼插入行時..
$badgefeed = "INSERT INTO d VALUES ('','".$userID."','Badge','','".$badgeNAME."','".$badgeTYPE."','".$badgelv."','','')";
$badgefeedQ = mysql_query($badgefeed);
(feeddate在最后一列為NULL的位置)
該feeddate不會更新,並且就像0000-00-00 00:00:00
但是當我使用PHP 更新表中已有的內容時,它將起作用。
我的feeddate結構是否做錯了什么,或者INSERT代碼不正確?
您的查詢應為:
$badgefeed = "INSERT INTO d VALUES ('','".$userID."','Badge','','".$badgeNAME."','".$badgeTYPE."','".$badgelv."','')";
不要在最后一列使用任何值,因為在MySQL中將時間戳用作默認值。 只需省略查詢中的最后一個(空白)值即可。 這樣,相關列的值將被認為是空值,因此將使用默認時間戳。
歐洲工商管理學院的''
使用null
。
這樣, mysql
自行管理值。
如果指定任何值,則服務器將采用您的值,而不考慮其他觸發器,設置。
如果您未在insert語句中包括該列或將其保留為空白(空),則它將由服務器根據默認設置進行設置。 在這種情況下,默認on update CURRENT_TIMESTAMP
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.