簡體   English   中英

UPDATE上的TIMESTAMP不適用於PHP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM