検索

ホームページ  >  に質問  >  本文

複数の行を動的に更新するこの方法の何が問題なのでしょうか?

rree

関数に渡される「値」は配列の配列です。各要素には、更新する別の行のプレースホルダー データが保持されます。 しかし、解析エラーというエラーが発生します。構文に問題があり、ログに記録されたクエリは -

です。 リーリー

すべての要素を最初のプレースホルダーに配置します。挿入クエリでは正常に機能します。 私の何が間違っているのか教えてください。

P粉298305266P粉298305266278日前340

全員に返信(2)返信します

  • P粉852578075

    P粉8525780752024-02-26 16:32:19

    おそらく、「value」はすでに配列なので、別の配列でラップする必要はありません。次のように直接渡すことができます:

    Let resp = wait pool.query(query, value);

    返事
    0
  • P粉038161873

    P粉0381618732024-02-26 00:18:23

    mysqljs/mysql モジュールは、使い慣れた UPDATE メソッドの objects または arrays を介したバッチ ロギングをサポートしていません。 INSERT 方法は同じです。あなたが想像しているものは MySQL のネイティブ機能ですらなく、実際の UPDATE メソッドを使用したい場合は、せいぜい CASE を切り替えることで実現できます。

    これにより、2 つのオプションが残ります:

    ######オプション1######

    テーブルと更新用に提供されたデータに一意のキーが含まれている限り、INSERT INTO table_name SET ?重複キーの更新について...

    オプション 2

    特定のテーブルのクエリに一意のキー付きフィールドと対応する値がない場合は、エントリを反復処理してクエリを構築し、同じ数の文字列を含む文字列のコレクションを作成する必要があります

    必要に応じて更新します。 クエリを作成するには、 - または - CASE

    条件を利用するクエリを作成します。

    ここでいくつかの例を参照できます: POST 本体に基づいて動的挿入ステートメントを作成する方法

    返事
    0
  • キャンセル返事