【发布时间】:2019-04-17 14:15:40
【问题描述】:
我刚刚从 sequelize 版本 4.32.1 迁移到版本 5.6.1。在此更新之前一切正常。现在,我的几乎所有查询都在下面出现错误。
我的 MySQL 服务器版本是 5.7.25-0ubuntu0.16.04.2-log (Ubuntu),查询中表中的所有 db 列都没有 JSON 数据类型。
这是抛出错误的函数体。 “accountIds”的值是数字数组。
let sqlQuery = `
SELECT ua.*, page.page_id
FROM user_instagram_fb_page_account ua
LEFT JOIN user_facebook_page page ON page.id = ua.user_fb_page_id
WHERE ua.user_account_ig_id IN($accountIds)
`;
return this._db.query(sqlQuery, {
bind: {
accountIds,
},
type: sequelize.QueryTypes.SELECT,
});
还有错误:
{ Error: This version of MySQL doesn't yet support 'item type for JSON'
at Packet.asError (/Volumes/ZoomSphereDEV/projects/zoomsphere2-api/node_modules/mysql2/lib/packets/packet.js:684:17)
at Execute.execute (/Volumes/ZoomSphereDEV/projects/zoomsphere2-api/node_modules/mysql2/lib/commands/command.js:28:26)
at Connection.handlePacket (/Volumes/ZoomSphereDEV/projects/zoomsphere2-api/node_modules/mysql2/lib/connection.js:449:32)
at PacketParser.Connection.packetParser.p [as onPacket] (/Volumes/ZoomSphereDEV/projects/zoomsphere2-api/node_modules/mysql2/lib/connection.js:72:12)
at PacketParser.executeStart (/Volumes/ZoomSphereDEV/projects/zoomsphere2-api/node_modules/mysql2/lib/packet_parser.js:75:16)
at Socket.Connection.stream.on.data (/Volumes/ZoomSphereDEV/projects/zoomsphere2-api/node_modules/mysql2/lib/connection.js:79:25)
at Socket.emit (events.js:189:13)
at Socket.EventEmitter.emit (domain.js:441:20)
at addChunk (_stream_readable.js:284:12)
at readableAddChunk (_stream_readable.js:265:11)
at Socket.Readable.push (_stream_readable.js:220:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
code: 'ER_NOT_SUPPORTED_YET',
errno: 1235,
sqlState: '42000',
sqlMessage:
'This version of MySQL doesn\'t yet support \'item type for JSON\'',
sql:
'SELECT ua.*, page.page_id FROM user_instagram_fb_page_account ua\n LEFT JOIN user_facebook_page page ON page.id = ua.user_fb_page_id\n WHERE ua.user_account_ig_id IN(?)' },
你能帮帮我吗?
【问题讨论】:
标签: javascript mysql sequelize.js