我有以下MySQL查询:
INSERT INTO ipi_messages (Message_userID, Message_fromName, Message_fromEmail, Message_subject, Message_body) VALUES(`0`, `hope`, `thisworks@gmail.com`, `i hope`, `this works`)
我的数据库架构是:
对于我的生活,我不能弄清楚这个错误是如何可能的。为什么MySQL会尝试将0
作为其中一列?它甚至不在代码的列声明部分中。
那我为什么会收到错误Unknown column '0' in 'field list'
?
答案 0 :(得分:8)
您需要对字符串值使用常规引号'
。反引号用于包含列名和表名。
答案 1 :(得分:0)
INSERT INTO ipi_messages (Message_userID, Message_fromName, Message_fromEmail, Message_subject, Message_body) VALUES('0', 'hope', 'thisworks@gmail.com', 'i hope', 'this works')
你需要将字符串括在单引号或双引号中。而不是引号,你使用〜(倾斜)符号来包含要插入到表中的值,这会导致错误。因为〜中的封闭字符串将被视为表列名称。
答案 2 :(得分:0)
你的Message_userID是一个整数字段吗?在这种情况下,您不需要引号('0' - > 0)