var convID = 2525;
var contactUsername = 'blabla';
var userId = 100;
var contactId = 200;
var sql = "INSERT INTO contacts (FK_OWNERID, FK_USERID, FC_CONTACTNAME, `CONVERSATION_ID`)
VALUES (" + mysql.escape(userId) + "," + mysql.escape(contactId) + "," + mysql.escape(contactUsername) + "," + convID + "),
(" + mysql.escape(contactId) + "," + mysql.escape(userId) + "," + mysql.escape(username) + "," + convID + ")";
`错误:ER_BAD_FIELD_ERROR:“字段列表”中的未知列“2525” CONVERSATION_ID 和 FC_CONTACTNAME 的字段均为 varchar(32),另外 2 个字段为 int。
这个查询有什么问题?我什至在 CONVERSATION_ID
周围加上了反引号,它认为 convID
变量是一列...
编辑:
如果我的查询就是这样,那么它就有效:
var sql = "INSERT INTO contacts (`FK_OWNERID`, `FK_USERID`, `FC_CONTACTNAME`)
VALUES (" + mysql.escape(userId) + "," + mysql.escape(contactId) + "," + mysql.escape(contactUsername) + "),
(" + mysql.escape(contactId) + "," + mysql.escape(userId) + "," + mysql.escape(username) + ")";
最佳答案
制作
" + convID + "
到
'" + convID + "'
很可能它是一个字符串,数据类型是 varchar,所以你需要用单引号括起来。
关于MySQL插入错误: ER_BAD_FIELD_ERROR: Unknown column '2525' in 'field list' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23020806/