택택
109
2021-01-14 15:27:00
5
172

고수님들 mysql 1064 42000 에러 도와주세요ㅠㅠ


nodejs에서 sql table을 생성하는데 오류가 발생했습니다.

2시간동안 이것저것 바꾸고 해봤는데 똑같은 현상이라 여쭤봅니다.


db.query(
  `CREATE TABLE subj ('major' VARCHAR(45) NULL,'curriculum' VARCHAR(45) NULL,'name' VARCHAR(45) NULL, 'select' VARCHAR(45) NULL,'code' VARCHAR(45) NOT NULL,'classification' VARCHAR(45) NULL,'changes' VARCHAR(45) NULL,'credit' VARCHAR(45) NULL,'curiNo' VARCHAR(45) NOTNULL,'sbjtId' VARCHAR(45) NULL,PRIMARY KEY ('curiNo'))`,
  (err, data) => {
    if (err) throw err;
  }
);

code: 'ER_PARSE_ERROR', errno: 1064, sqlMessage: "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 ''majo r' VARCHAR(45) NULL,'curriculum' VARCHAR(45) NULL,'name' VARCHAR(45) NULL, ' at line 1", sqlState: '42000', index: 0, sql: "CREATE TABLE 123_subj ('major' VARCHAR(45) NULL,'curriculum' VARCHAR(45) NULL,'name' VARCHAR(45) NULL, 'select' VARCHAR(45) NULL,'code' VARCHAR(45) NOT NULL,'classification' VARCHAR(45) NULL,'changes' VARCHAR(45) NULL,'credit' VARCHAR(45) NULL,'curiNo' VARCHAR(45) NOTNULL,'sbjtId' VARCHAR(45) NULL,PRIMARY KEY ('curiNo'))" }

0
  • 답변 5

  • howoni123
    810
    2021-01-14 15:34:44 작성 2021-01-14 15:36:56 수정됨

    column 명에 ' 때고 쿼리해보세요

    추가.. select 를 column명으로 쓰고싶으시다면 select 는 ` 로 감싸셔야합니다.

  • 택택
    109
    2021-01-14 15:37:17

    https://okky.kr/user/info/97728


        "CREATE TABLE subj (major VARCHAR(45) NULL,curriculum VARCHAR(45) NULL,name VARCHAR(45) NULL,select VARCHAR(45) NULL,code VARCHAR(45) NOT NULL,classification VARCHAR(45) NULL,changes VARCHAR(45) NULL,credit VARCHAR(45) NULL,curiNo VARCHAR(45) NULL,sbjtId VARCHAR(45) NULL,PRIMARY KEY (curiNo))"

    이렇게 맞죠...? 똑같이 오류가 발생하네요ㅠㅠ
  • 택택
    109
    2021-01-14 15:38:34

    howoni123


    select에만 감싸도 안되네용...ㅠ

  • 쿠잉
    1k
    2021-01-14 15:58:02

    테이블 생성에서 2가지의 문제가 있는것 같습니다

    1. 예약어가 있는것 같고

    2. 두번째 쿼리(댓글의) 에서는 primary key 컬럼에 null 로 되어 있습니다.


    select 구문에 ` <-- 로 감싸보세요 


    CREATE TABLE subj (major VARCHAR(45) NULL,

    curriculum VARCHAR(45) NULL,

    name VARCHAR(45) NULL,

    `select` VARCHAR(45) NULL,

    code VARCHAR(45) NOT NULL,

    classification VARCHAR(45) NULL,

    changes VARCHAR(45) NULL,

    credit VARCHAR(45) NULL,

    curiNo VARCHAR(45) NOT NULL,

    sbjtId VARCHAR(45) NULL,

    PRIMARY KEY (curiNo));



  • 택택
    109
    2021-01-14 18:27:54

    다들 정말 감사하빈다!!

  • 로그인을 하시면 답변을 등록할 수 있습니다.