0

Node-RED を使用して、含まれている sqldb に情報を挿入しています。

データの入力には成功しましたが、更新できないようです。構文がわかりません。このテーブルはITEMSと呼ばれ、 IDITEMSの 2 つの列があります。最初の要素を更新し続けたい。これが機能しない理由について何か提案はありますか?

[
  {
    "id": "6ba3d5df.945c2c",
    "type": "sqldb out",
    "z": "ed26e4d5.12d918",
    "service": "SQL Database-kr",
    "table": "ITEMS",
    "name": "",
    "x": 571,
    "y": 167,
    "wires": []
  },
  {
    "id": "fb5a8388.04a58",
    "type": "inject",
    "z": "ed26e4d5.12d918",
    "name": "",
    "topic": "ITEM",
    "payload": "andy",
    "payloadType": "str",
    "repeat": "60",
    "crontab": "",
    "once": false,
    "x": 142,
    "y": 218,
    "wires": [
      [
        "caaf691d.355098",
        "94b0c839.6b4f38"
      ]
    ]
  },
  {
    "id": "94b0c839.6b4f38",
    "type": "debug",
    "z": "ed26e4d5.12d918",
    "name": "",
    "active": true,
    "console": "false",
    "complete": "payload",
    "x": 588,
    "y": 253,
    "wires": []
  },
  {
    "id": "caaf691d.355098",
    "type": "sqldb in",
    "z": "ed26e4d5.12d918",
    "service": "SQL Database-kr",
    "query": "UPDATE ITEMS \nSET ID = 1,ITEM = msg.payload,\nWHERE ID; ",
    "params": "",
    "name": "",
    "x": 405.5,
    "y": 287,
    "wires": [
      [
        "94b0c839.6b4f38"
      ]
    ]
  },
  {
    "id": "70a9564.f8f56a8",
    "type": "inject",
    "z": "ed26e4d5.12d918",
    "name": "",
    "topic": "",
    "payload": "andrew",
    "payloadType": "str",
    "repeat": "",
    "crontab": "",
    "once": true,
    "x": 206.5,
    "y": 176,
    "wires": [
      [
        "88cf0713.7730f8"
      ]
    ]
  },
  {
    "id": "88cf0713.7730f8",
    "type": "function",
    "z": "ed26e4d5.12d918",
    "name": "",
    "func": "msg.payload =\n{\n   ID: 1,\n   ITEM : msg.payload,\n}\nreturn msg;\n",
    "outputs": 1,
    "noerr": 0,
    "x": 429.5,
    "y": 171,
    "wires": [
      [
        "6ba3d5df.945c2c"
      ]
    ]
  }
]
4

1 に答える 1

1

あなたの更新クエリは

UPDATE ITEMS SET ID = 1,ITEM = msg.payload WHERE ID; 

WHERE ID正しい行への更新を制限するための値をテストする継ぎ目はありません。そして、実際にID値をリセットする必要がありますか?

このようなものは、私が期待するものです

UPDATE ITEMS SET ITEM = ? WHERE ID = 1; 

msg.payload はParameter Markersフィールドにある必要があります。

于 2016-02-17T20:56:52.150 に答える