-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
sql에 User테이블만 존재하고 utf관련 오류와 sequelizeDatabaseError가 납니다.
23.10.13 21:46 작성 조회수 189
0
안녕 하십니까 제로초님
다름이 아니라 강의를 수강하는 중에 아래와 같은 오류가 발생했는데 해결법을 모르겠어서 질문을 남깁니다.
제로초님이 말씀하신대로 npx sequelize db:create를 하고
테이블을 봤는데 user밖에 없어서 터미널을 봤더니 아래와같은 오류가 났습니다. 찾아보려고 했지만 도저히 모르겠어서 질문을 남깁니다.
<오류코드>
Executing (default): SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_NAME = 'Users' AND TABLE_SCHEMA = 'react-nodebird'
Executing (default): SHOW INDEX FROM
Users
FROMreact-nodebird
Executing (default): SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_NAME = 'Posts' AND TABLE_SCHEMA = 'react-nodebird'
Executing (default): CREATE TABLE IF NOT EXISTS
Posts
(`id` INTEGER NOT NULL auto_increment ,content
TEXT NOT NULL,createdAt
DATETIME NOT NULL,updatedAt
DATETIME NOT NULL,UserId
INTEGER,RetweetId
INTEGER, PRIMARY KEY (`id`), FOREIGN KEY (`UserId`) REFERENCESUsers
(`id`) ON DELETE SET NULL ON UPDATE CASCADE, FOREIGN KEY (`RetweetId`) REFERENCESPosts
(`id`) ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8_general_ci;Error
at Query.run (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/sequelize/lib/dialects/mysql/query.js:52:25)
at /Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/sequelize/lib/sequelize.js:315:28
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async MySQLQueryInterface.createTable (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/sequelize/lib/dialects/abstract/query-interface.js:98:12)
at async Post.sync (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/sequelize/lib/model.js:942:7)
at async Sequelize.sync (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/sequelize/lib/sequelize.js:377:9) {
name: 'SequelizeDatabaseError',
parent: Error: COLLATION 'utf8mb3_general_ci' is not valid for CHARACTER SET 'utf8mb4'
at Packet.asError (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/packets/packet.js:728:17)
at Query.execute (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/commands/command.js:29:26)
at Connection.handlePacket (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/connection.js:478:34)
at PacketParser.onPacket (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/connection.js:97:12)
at PacketParser.executeStart (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/packet_parser.js:75:16)
at Socket.<anonymous> (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/connection.js:104:25)
at Socket.emit (node:events:517:28)
at addChunk (node:internal/streams/readable:335:12)
at readableAddChunk (node:internal/streams/readable:308:9)
at Readable.push (node:internal/streams/readable:245:10) {
code: 'ER_COLLATION_CHARSET_MISMATCH',
errno: 1253,
sqlState: '42000',
sqlMessage: "COLLATION 'utf8mb3_general_ci' is not valid for CHARACTER SET 'utf8mb4'",
sql: 'CREATE TABLE IF NOT EXISTS
Posts
(`id` INTEGER NOT NULL auto_increment ,content
TEXT NOT NULL,createdAt
DATETIME NOT NULL,updatedAt
DATETIME NOT NULL,UserId
INTEGER,RetweetId
INTEGER, PRIMARY KEY (`id`), FOREIGN KEY (`UserId`) REFERENCESUsers
(`id`) ON DELETE SET NULL ON UPDATE CASCADE, FOREIGN KEY (`RetweetId`) REFERENCESPosts
(`id`) ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8_general_ci;',parameters: undefined
},
original: Error: COLLATION 'utf8mb3_general_ci' is not valid for CHARACTER SET 'utf8mb4'
at Packet.asError (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/packets/packet.js:728:17)
at Query.execute (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/commands/command.js:29:26)
at Connection.handlePacket (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/connection.js:478:34)
at PacketParser.onPacket (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/connection.js:97:12)
at PacketParser.executeStart (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/packet_parser.js:75:16)
at Socket.<anonymous> (/Users/ihyeoncheol/Desktop/nodebird_project/prepare/back/node_modules/mysql2/lib/connection.js:104:25)
at Socket.emit (node:events:517:28)
at addChunk (node:internal/streams/readable:335:12)
at readableAddChunk (node:internal/streams/readable:308:9)
at Readable.push (node:internal/streams/readable:245:10) {
code: 'ER_COLLATION_CHARSET_MISMATCH',
errno: 1253,
sqlState: '42000',
sqlMessage: "COLLATION 'utf8mb3_general_ci' is not valid for CHARACTER SET 'utf8mb4'",
sql: 'CREATE TABLE IF NOT EXISTS
Posts
(`id` INTEGER NOT NULL auto_increment ,content
TEXT NOT NULL,createdAt
DATETIME NOT NULL,updatedAt
DATETIME NOT NULL,UserId
INTEGER,RetweetId
INTEGER, PRIMARY KEY (`id`), FOREIGN KEY (`UserId`) REFERENCESUsers
(`id`) ON DELETE SET NULL ON UPDATE CASCADE, FOREIGN KEY (`RetweetId`) REFERENCESPosts
(`id`) ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8_general_ci;',parameters: undefined
},
sql: 'CREATE TABLE IF NOT EXISTS
Posts
(`id` INTEGER NOT NULL auto_increment ,content
TEXT NOT NULL,createdAt
DATETIME NOT NULL,updatedAt
DATETIME NOT NULL,UserId
INTEGER,RetweetId
INTEGER, PRIMARY KEY (`id`), FOREIGN KEY (`UserId`) REFERENCESUsers
(`id`) ON DELETE SET NULL ON UPDATE CASCADE, FOREIGN KEY (`RetweetId`) REFERENCESPosts
(`id`) ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8_general_ci;',parameters: {}
}
답변을 작성해보세요.
0
답변 1