这是我第一次在sails.js数据库中使用mySQL,我对这个错误感到非常困惑。
我有一个叫“公司”的控制器和模型。它与mySQL数据库中的表“公司”有关。该表本身具有一对多的关联,两个表称为“模块”和“用户”(每个用户/模块必须与一个公司id连接)。我在MySQL数据库中设置了外键。
问题是..。每次从该控制器打开任何页面/操作时,都会出现以下错误:
error: Sending 500 ("Server Error") response:
Error (E_UNKNOWN) :: Encountered an unexpected error
: ER_BAD_FIELD_ERROR: Unknown column 'NaN' in 'where clause'
at Query.Sequence._packetToError (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Sequence.js:30:14)
at Query.ErrorPacket (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Query.js:82:18)
at Protocol._parsePacket (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:213:24)
at Parser.write (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Parser.js:62:12)
at Protocol.write (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:37:16)
at Socket.<anonymous> (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/Connection.js:75:28)
at Socket.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:764:14)
at Socket.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:426:10)
--------------------
at Protocol._enqueue (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:110:48)
at PoolConnection.Connection.query (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/Connection.js:166:25)
at PoolConnection.liveConnection.query (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/lib/connections/spawn.js:98:16)
at __FIND__ (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/lib/adapter.js:836:20)
at afterwards (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/lib/connections/spawn.js:104:5)
at /Users/alanyudh/Sites/matta/node_modules/sails-mysql/lib/connections/spawn.js:40:7
at Pool.<anonymous> (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/Pool.js:51:14)
at Handshake.Sequence.end (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Sequence.js:78:24)
at Handshake.Sequence.OkPacket (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/protocol/sequences/Sequence.js:87:8)
at Protocol._parsePacket (/Users/alanyudh/Sites/matta/node_modules/sails-mysql/node_modules/mysql/lib/protocol/Protocol.js:213:24)
Details: Error: ER_BAD_FIELD_ERROR: Unknown column 'NaN' in 'where clause'这是我的公司模式:
module.exports = {
attributes: {
name:{
type:"string",
required:true,
unique:true,
minLength: 2
},
type:{
type:"string",
enum: ['hq','sub'],
defaultsTo: 'hq'
},
desc:{
type:"text",
required:true
},
logo: {
type: 'string'
},
address: {
type: 'text'
},
city: {
type: 'string'
},
region: {
type: 'string'
},
country: {
type: 'string'
},
zipcode: {
type: 'string'
},
phone_number: {
type: 'string'
},
website: {
type: 'string'
}
},
};我试过使用'autoPK: false','schema: true',添加'columnName/fieldName',但它们都不起作用。
错误意味着什么?我该怎么解决呢?
非常感谢。
发布于 2021-11-08 21:29:42
对于您的具体情况,我没有确切的答案,但是,我需要指出,同时我也要指出,当各种API没有足够具体地解决错误的原因时,这是一个可悲的、臭名昭著的各种API问题,只是让异常堆栈懒洋洋地出现在下一个错误处理程序中。这常常会在实际异常的原因上完全误导开发人员。因此,要非常注意,您看到的错误文本可能与实际问题相差甚远。至少你知道有个问题。现在你必须用你自己的智慧和无尽的变化或方法来解决它。
https://stackoverflow.com/questions/27835962
复制相似问题