본문 바로가기
MySql

MySQL 삽입 오류 : ER_BAD_FIELD_ERROR : '필드 목록'의 알 수없는 열 '2525'

by 베이스 공부 2020. 12. 8.
반응형
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 주위에 백틱 (backticks)을 넣었고 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이므로 작은 따옴표로 묶어야합니다.

 

참조 페이지 https://stackoverflow.com/questions/23020806

 

 

반응형

댓글