下面是我的MYSQL Db质量插入代码
connectionPool.getConnection(function(err, connection){
if(err) {
winston.log('info', '------- ERROR while getting connection: ' + err.message);
connection.release();
return;
}
connection.query('INSERT INTO PollOptions (idPollOption, Option, PollId) values ?', [pollOptionsArray], function(err, rows){
if(err) {
winston.info('info', '----------------------- ERROR: ' + err);
connection.release();
return;
}
connection.release();
});
});
pollOptionsArray的位置
[
["POPE1lrKXMy9Q","Adam","POLL4yrFXzkcX"],
["POPVy-StXGJcm","Mike","POLL4yrFXzkcX"],["POPNkMSFmGy97","Lucy","POLL4yrFXzkcX"]
]
数据库表包含以下列
idPollOption,Option,PollId(all VARCHAR)
它给了我以下错误:
错误:错误:ER_PARSE_ERROR:您的SQL语法中有错误; 检查与您的MySQL服务器版本对应的手册 在'Option,PollId)值附近使用正确的语法('POPE1lrKXMy9Q', 'Adam','POLL4yrFXzkcX'),(第1行的'POPVy-StXGJ'
我甚至试图像这样硬编码我的sql输入:
var temp = [
['123', 'demian@gmail.com', 'POLLVJsBGIjYQ'],
['345', 'john@gmail.com', 'POLLVJsBGIjYQ'],
['567', 'mark@gmail.com', 'POLLVJsBGIjYQ'],
['678', 'pete@gmail.com', 'POLLVJsBGIjYQ']
];
但它仍然给我同样的错误。我不明白我做错了什么。很明显,我的SQL语法在值上是不正确的,但补救措施是什么?
我甚至试图删除pollOptionsArray中的'[]',它给了我同样的错误。
知道这里发生了什么吗?
答案 0 :(得分:0)
因此我的语法没有问题。问题是名为" Option"的列。 显然"选项"是MySQL中的保留关键字,因为我用它来命名我的专栏,它给了我麻烦。