問題タブ [multiple-insert]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
50 参照

mysql - フォームに値が 1 つしかない場合に複数の値を挿入する方法

保存する必要がある入力の値が 1 回だけの場合、請求書フォームの DB に値を挿入または更新する方法を知る必要がありますか?

すべての行で製品を選択する請求書フォームがあり、最後に残りの入力とともに保存する必要がある値を持つ入力 (user_id) があります。

例のように、請求書で次を選択します。

そして最後に私のIDがあります(一意のPRODUCTOSテーブルのIDではなく、user_id)

これが私のテーブルのスキーマであり、これまでの保存または更新方法は次のとおりです。

ここで、保存または更新する必要があるもの:

コードは次のとおりです。

ありがとうございました

0 投票する
1 に答える
151 参照

mysql - 複数行フォームでの挿入、更新、または削除

請求書フォームで、1つのクエリで1つを編集したり、他のものを削除したり、新しいものを追加したりするなど、製品にいくつかの変更を加えた場合INSERTUPDATEまたは複数の行を作成する方法を知る必要があります...更新を試しましたが、削除した場合DELETE1 つまたは 2 つの製品、または 1 つまたは 2 つの製品を追加してフォームを保存するとDB、変更は行われず、以前にあったデータのみDBが更新されます。

ここに私のコード:


編集

これが私の複数の挿入コードです:

0 投票する
0 に答える
345 参照

mysql - 主キー (Auto_Inc) と一意のキー インデックスにより、複数の挿入の試行中にデッドロックが発生する

遅いテスト サーバーで MySQL トランザクション デッドロックに直面しています。SQL はあまり得意ではありませんが、デッドロックが発生した場合にクエリを再実行しようとしましたが、結果は同じままです。テーブルには 2 つのインデックスがあります - "Primary key index"(Single column auto-inc) と Unique key Index (3 列)。ループに約 900 レコードを挿入しようとしていますが、テーブルには約 172000 レコードがあります。InnoDB エンジンのステータスは次のとおりです:-

可能な回避策があれば知りたいです。

この点でどんな助けでも大歓迎です。

前もって感謝します !

0 投票する
2 に答える
1126 参照

mysql - 自動インクリメント Mysql を使用して複数の行を 2 つのテーブルに挿入する

自動インクリメントの外部キーで接続された 2 つのテーブルに複数の行を挿入しようとしています。良い解決策が見つからないようです。テーブル:

  • eav_attribute_option

    • option_id (PK、オートインクリメント)
    • attribute_id
    • sort_order
  • eav_attribute_option_value

    • value_id (PK、オートインクリメント)
    • option_id (外部キー)
    • store_id
    • 価値

私はこれをしたい:

これに対する最善のアプローチは何でしょうか。良いアプローチが見つからないようです。:

  • 次の自動インクリメントを取得してから挿入します (間にテーブルをロックする必要があります)
  • 最初の部分を挿入し、次に PK 値を取得し、2 番目の部分を作成して挿入します (しばらくデータが不完全でした。2 番目の部分でエラーが発生した場合はどうなりますか?)
  • 可能であれば、結合して挿入する方法はありますか?

編集:明確にするために、可能な限り最小限のクエリを使用しようとしています。最後に挿入されたIDを実行できることはわかっていますが、何千もの挿入でサーバーを強制終了したくありません。

0 投票する
5 に答える
16406 参照

oracle - Oracleでシーケンスを使用して複数の行を挿入する

これは、Oracle データベースに複数の行を挿入するために使用したクエリです。しかし、その中でシーケンスを使用すると、ORA-00001: 一意の制約としてエラーが発生します。どうやってするの。

0 投票する
0 に答える
593 参照

sql-server - ms sql ID値を持つ複数のテーブルへの一括挿入

t1、t2、t3 という 3 つのテーブルがあります。実際、t3 は、多くのテーブルからの結合を使用した選択クエリの結果です。t3 から t1 および t2 にデータを一括挿入する必要があります。 t3 からのいくつかのデータと共に。T1 には、internalid と date の一意の組み合わせがあります。テーブルの構造は次のとおりです。

egif t3 には次のデータがあり、t1 と t2 には次のデータがあります。

t3:

次に、t1 と t2 を次のように挿入する必要があります。

t1:

t2:

0 投票する
2 に答える
619 参照

php - PHP、PDO、MySQL - 複数の INSERT はインジェクションに対して脆弱ですか?

私のアプリケーション (PHP) では、API から ~3000 行を要求し、PDO ドライバーを使用してこれらを MySQL テーブルに挿入します。

挿入されるデータはユーザー入力ではありませんが、データがどのように渡されるかは私の手に負えません。

〜3000回の挿入ができるだけ速く進むことが重要であるため、そのように複数の挿入を使用したい(?,?,?),(?,?,?),....

複数の挿入を行うと、MySQL インジェクションの脆弱性に影響があるかどうか疑問に思っていましたか? PHPコードを使用してクエリを「構築」するためです。

私の「テスト」コードは次のとおりです。

$sql内容:

$insertArray内容:

0 投票する
2 に答える
6103 参照

php - PDO PHP - PDOException - 範囲外の数値: 1264 行 1 の列 'customer_id' の範囲外の値

単一の「複数挿入」クエリ (PHP の PDO ドライバー) を使用して、多くの行 (400-2500) をテーブルにプッシュしようとしています。

今、私はこのエラーを受け取ります:

致命的なエラー: メッセージ「SQLSTATE[22003]: 範囲外の数値: 1264 行 1 の列 'customer_id' の範囲外の値」を伴うキャッチされない例外 'PDOException'

しかし、私が見る限り1264、特に column ではなく、 value を挿入しようとする場所はありませんcustomer_id。また、?準備されたクエリの s の量は、呼び出しに渡す配列内のアイテムの量と一致しexecute()ます。

編集:いくつかの余分な情報

に挿入しようとした最大値customer_idは です193。私が間違っていなければcustomer_idsmallint(5), unsigned最大値を許可しています。65535