注意:(null)是一个字符串,实际上不是NULL值...应该与使用'Hello'作为值
相同INSERT INTO tasks (category,completion_dtm,desc,duedate,notification_duedate,notification_one,notification_two,priority,reminder_one,reminder_two,title,timestamp) VALUES('None','3999-01-01 00:00:00','(null)',('1000-01-01 00:00:00'),'(null)','(null)','(null)',2,('1000-01-01 00:00:00'),('1000-01-01 00:00:00'),'Task 3',('1000-01-01 00:00:00')) ON DUPLICATE KEY UPDATE id=VALUES(id)
我的语法有什么问题吗?感谢您的任何见解!
编辑: 抱歉,认为错误很明显:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc,duedate,notification_duedate,notification_one,notification_two,priority,rem' at line 1
答案 0 :(得分:1)
乍一看 -
desc
是一个mysql reserved word,你必须把它包含在反引号中``
NSERT INTO tasks (category,completion_dtm,`desc`,duedate,notification_duedate,notification_one,notification_two,priority,reminder_one,reminder_two,title,timestamp) VALUES('None','3999-01-01 00:00:00','(null)',('1000-01-01 00:00:00'),'(null)','(null)','(null)',2,('1000-01-01 00:00:00'),('1000-01-01 00:00:00'),'Task 3',('1000-01-01 00:00:00')) ON DUPLICATE KEY UPDATE id=VALUES(id)
如果您发布确切的SQL错误消息,我们可以提供更详细的答案。
答案 1 :(得分:1)
您有与mysql关键字匹配的列名,请使用带有列名的反引号
答案 2 :(得分:1)
除了desc
是关键字之外,还值得检查您在日期中指定的值。我相信您已超过允许的日期限制或小于允许的最短日期。首先检查语句是否成功,日期是当前日期。