如果日期列日不是最新的,则Mysql INSERT

时间:2014-08-07 10:06:51

标签: php mysql sql

如果当天没有用户行,我尝试执行INSERT,如果TIMESTAMP是当天,则执行更新。 我想我可以通过PHP中的if else语句来做到这一点,但我认为如果我通过mysql语句完成它会更干净。我的日期列有以下格式: Date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

有什么想法吗?感谢。

2 个答案:

答案 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