我有一个 feeddate 列,其中包含以下信息..
类型:时间戳
属性:更新时CURRENT_TIMESTAMP
默认值:CURRENT_TIMESTAMP
当我使用PHP INSERT INTO 使用此代码的行时..
$badgefeed = "INSERT INTO d VALUES ('','".$userID."','Badge','','".$badgeNAME."','".$badgeTYPE."','".$badgelv."','','')";
$badgefeedQ = mysql_query($badgefeed);
(feeddate位于NULL的最后一列)
此Feeddate不会更新,如有效00:00:00
但是当我使用PHP来更新表格中已有的东西时,它会起作用。
我的feeddate结构是否有任何问题或者INSERT代码不正确?
答案 0 :(得分:0)
您的查询应该是:
$badgefeed = "INSERT INTO d VALUES ('','".$userID."','Badge','','".$badgeNAME."','".$badgeTYPE."','".$badgelv."','')";
在MySQL中使用时间戳作为默认值时,不要使用最后一列的任何值。只需省略查询中的最后一个(空白)值即可。以这种方式,相关列的值将被视为空,因此将使用默认时间范围。
答案 1 :(得分:0)
Insead ''
使用null
这样,mysql
管理值本身。
如果指定任何值,则无论其他触发器设置如何,服务器都将获取您的值。
如果您不在insert语句中包含该列或将其留空(null),则服务器将根据默认值设置该列。在这种情况下,默认值为on update CURRENT_TIMESTAMP