我有登录表:
tbl:login
name type Allow Null
id varchar(36) Yes
coy_id varchar(36) Yes
client_id varchar(36) Yes
logindt Datetime Yes
logoutdt Datetime Yes
当我插入时:
INSERT INTO login (id, coy_id, client_id, logindt, logoutdt)
VALUES ('7E6B6C24-20AF-439C-B3CD-26F6425881C9', '11111111-1111-1111-1111-111111111111', '12341234-1234-1234-1234-123412341234', '2014-07-30 13:47:54.727', NULL);`
logoutdt
添加当前时间戳,为什么?
*更新:
更新2 更新查询正常
UPDATE login SET logoutdatetime= NULL WHERE id ='7e6b6c24-20af-439c-b3cd-26f6425881c9';
答案 0 :(得分:0)
因为你的表声明。
创建表时需要声明logoutdt并登录dt以使DEFAULT为NULL,否则它将放入CURRENT TIMESTAMP
答案 1 :(得分:0)
尝试此查询,通过将column的默认值设置为null:
ALTER TABLE login MODIFY COLUMN logoutdatetime DATETIME DEFAULT NULL;
更新:检查此Demo。它按你的意愿工作。
答案 2 :(得分:0)
您的表结构存在一些问题,请参阅SQLFiddle Here。它对我来说很好,为什么不在你的情况下工作。请检查正确的表格结构并修改所需的更改。