gpt4 book ai didi

mysql - 错误 : ER_OPERAND_COLUMNS: Operand should contain 1 column(s)

转载 作者:可可西里 更新时间:2023-11-01 07:52:24 26 4
gpt4 key购买 nike

我的程序像这样创建一个表:

exports.createTablesPhase2= function(tableprefix,cb){
var s3 = 'CREATE TABLE IF NOT EXISTS productData (
`id` int NOT NULL AUTO_INCREMENT,
`url` varchar(255) NOT NULL,
`baseSite` varchar(255) DEFAULT NULL,
`img_url` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`price` varchar(15) NOT NULL,
`sale_price` varchar(15) DEFAULT NULL,
`description` text DEFAULT NULL,
`extra` varchar(255) DEFAULT NULL,
`brand` varchar(255) DEFAULT NULL,
`colors` varchar(255) DEFAULT NULL,
`sizes` varchar(255) DEFAULT NULL,
`date` date NOT NULL ,
PRIMARY KEY `id` (`id`),UNIQUE `url` (`url`));';
client.query(s3, function(err, result) {
if (err) throw err;
cb();
});
};

那位有效,我只是把它放在那里让你看到结构。

然后过了一会儿,下面的函数尝试在数据库中插入值:

exports.insertProducts = function(products,tableprefix,cb){
var values = [];
var date=(new Date()).toISOString().substring(0, 19).replace(/T.*/gi, '');
for (var i = 0; i < products.length; i++) {
var p = products[i];
values.push(['null',p.url,p.baseSite,p.imgUrl,p.name,p.price,p.saleprice,p.description,p.moreInfo,p.brand,p.color,p.sizes,date]);
}
console.log(values);
var sql = "INSERT INTO `productData` VALUES ?
ON DUPLICATE KEY UPDATE `price` = VALUES (`price`),`sale_price` = VALUES (`sale_price`), `date` = VALUES (`date`)";
client.query(sql,[values],function(err){
if (err) throw err;
cb();
});
};

我收到以下错误:错误:ER_OPERAND_COLUMNS:操作数应包含 1 列

我以前在运行复杂查询时看到过这个,但是这个看起来很简单......我一定错过了一些非常简单的东西。我检查了这些值,它们看起来都正常。

编辑:按照评论中的建议,我尝试添加列名,但它没有任何改变。为了不阻塞代码,我将它们排除在外。

最佳答案

如果您在 node-mysql 中使用 INSERT table VALUES ? 语法进行批量插入,请确保将数组数组发送到 .query() 具有相应类型的所有值 - 通常作为基元(字符串或数字)。

在你的例子中,这些元素之一是一个数组 - 它被 node-mysql 查询构建器包装到括号中,将 VALUES 行搞乱成类似的东西。 ..

VALUES(null, '123', (123, 456)...)

这将使 MySQL 抛出讨厌的 Operand should contain 1 column(s) 错误。

关于mysql - 错误 : ER_OPERAND_COLUMNS: Operand should contain 1 column(s),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25826193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com