我想使用一个mysql查询插入和更新表,我的表结构是:
student_id ,class_no, section, started_on ,ended_on
我想更新class_no
并插入新记录。为此,我使用此查询:
INSERT INTO student_classes (student_id,class_no,section,started_on,ended_on)
VALUES (835,5,0,2013-04-09,null)
ON DUPLICATE KEY UPDATE class_no = class_no+1
但是如果我在DUPLICATE KEY UPDATE class_no = class_no+1
之后使用where子句给出错误消息,则此查询仅插入新行,而不是更新列。
消息是:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'where started_on = 2013-04-09'