MySQL插入错误:ER_BAD_FIELD_ERROR:'字段列表'中的未知列'2525'

Dan*_* P. 7 mysql sql

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 + ")";
Run Code Online (Sandbox Code Playgroud)

`错误: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) + ")";
Run Code Online (Sandbox Code Playgroud)

Abh*_*rty 21

使

" + convID + "
Run Code Online (Sandbox Code Playgroud)

'" + convID + "'
Run Code Online (Sandbox Code Playgroud)

很可能它是一个字符串,数据类型是varchar所以你需要在单引号中包含.