如果当天没有用户行,我尝试执行INSERT,如果TIMESTAMP是当天,则执行更新。
我想我可以通过PHP中的if else语句来做到这一点,但我认为如果我通过mysql语句完成它会更干净。我的日期列有以下格式:
Date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
有什么想法吗?感谢。
答案 0 :(得分:0)
也许您可以使用日期(DATE类型)创建另一个字段,将其设为关键字,然后使用:
INSERT INTO table (field1,field2...,field_date) VALUES (x,y,...,day)
ON DUPLICATE KEY UPDATE field1=x, field2=y, ...
答案 1 :(得分:0)
将数据类型更改为DATE,
创建唯一键(用户,日期)
并使用
INSERT INTO table (user, date, field1, field2)
VALUES('user', CURDATE(), 'field1', 'field2')
ON DUPLICATE KEY UPDATE field1=VALUES(field1), field2=VALUES(field2)
http://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html