我有一个表,可以保存与记录的primary_keys相关的时间戳值。
表:primary_key_timestamp
列:primary_key VARCHAR(40),time_stamp(TIMESTAMP)。
我需要一个查询来更新主键的时间戳值,并在以下情况下返回true
:
在下列情况下应返回false
:
答案 0 :(得分:0)
除非您正在调用存储过程,否则无法在单个语句中插入和返回结果。如果您能够在插入后获得ROW_COUNT()
(许多驱动程序/客户端将隐式执行),您可以查看此查询是否进行任何更新。只需检查非零行数。
INSERT INTO primary_key_timestamp (primary_key, time_stamp)
VALUES ([your_key], CURRENT_TIMESTAMP())
ON DUPLICATE KEY UPDATE time_stamp = GREATEST(time_stamp, VALUES(time_stamp));
如果您想将time_stamp
设置为自定义值,只需将CURRENT_TIMESTAMP()
替换为您的值。