有一update sql:
UPDATE
ums_paymentorder
SET
OrderStatus = '01'
,UpdateTime = NOW()
WHERE OrderNoMer = 'DE15060900000000000005'
执行正确,但另一个字段SrcReqDate 也随之修改为now()。
原始建表语句:
create table ums_xx (
...
SrcReqDate TIMESTAMP COMMENT '发送日期',
)
字段默认非null约束。
用sqlyog工具打修改表发现,SrcReqDate字段:
`SrcReqDate` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NULL COMMENT '发送日期';
问题应该就在这句:
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
执行下面sql 解决问题:
-- 修改字段可为NULL
ALTER TABLE paymentorder
CHANGE SrcReqDate SrcReqDate TIMESTAMP NULL COMMENT '发送日期';