簡體   English   中英

Node.js 用 Mysql 中的數組更新表

[英]Node.js Update Table with Array in Mysql

我有這張桌子。

在此處輸入圖像描述

我的數據在下面,把這張表放在上面。

buffer= [{deviceId: 000002, input2:false, input3:false, input4:false, input5:false, input6:false, input7:false, input8:false, output1:false, output2:false, output3:false, output4:false, output5:false, output6:false, output7:false, output8:false},
{deviceId: 000001, input2:false, input3:false, input4:false, input5:false, input6:false, input7:false, input8:false, output1:false, output2:false, output3:false, output4:false, output5:false, output6:false, output7:false, output8:false}]

我想把我的數據放在這個查詢中

dbConnect.query("update datas set input1=?, input2=?, input3=?, input4=?, input5=?, input6=?, input7=?, input8=?, output1=?, output2=?, output3=?, output4=?, output5=?, output6=?, output7=?, output8=? where deviceId=?", [buffer],
function (err, rows, fields) {
     if (!err) {
        console.log("OK")
       } else {
        console.log("ERROR")
    }
})

下面還有錯誤

sqlMessage:“您的 SQL 語法有錯誤;請查看與您的 MySQL 服務器版本相對應的手冊,以獲取在 ''000002' 附近使用的正確語法,input2=?, input3=?, input4=?, input5=?, input6=?, input7=?, input8=?, ' at line 1", sqlState: '42000', index: 0,
sql:“更新數據集 input1='[object Object]', '000002', input2=?, input3=?, input4=?, input5=?, input6=?, input7=?, input8=?, output1=? , output2=?, output3=?, output4=?, output5=?, output6=?, output7=?, output8=? where deviceId=?”

我需要你的幫助,謝謝。

我找到了我的問題的解決方案。 需要使用

insert into TABLENAME(key, column1, column2, ...) values (?),(?),... on duplicate key update column1=value(column1), column2=value(column2), ...;

但是有一個細節,那就是key列必須是unique index

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM