問題タブ [on-duplicate-key]
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.
mysql - 複数の行を挿入更新mysql
複数のレコードを mysql データベースに追加する必要があります。複数のクエリを試してみましたが、うまく機能しましたが、効率的ではありませんでした。だから私は以下のような1つのクエリだけで試してみました.
ただし、常にテーブルを更新します (列は block_id、block、length、width、rows です)。block_idも追加してクエリを変更する必要があります。block_idは主キーです。どんな助けでも大歓迎です。
mysql - SQL: 一意のキーを追加したため、主キーの auto_increment カウントが異なりますか?
今日、テーブルに2 つの一意のキー ( external_id
、 ) を追加しました。name
それ以来、 - 列 (主キー) のカウントid
は非常に奇妙で、問題を再現できません。
行を削除しませんでしたが、更新しました ( ON DUPLICATE KEY
)。主キーid
を 1、2、3、4、5、6、... のように線形にカウントアップしたい
構造:
コンテンツ:
編集:
最新の ID は23
です。PHPMyAdminの行統計では、次の autoindexは27
! 24から26はどうですか?よくわかりません。
聞いたことのない構造や秘密はありますか?前もって感謝します!
php - PHPを使用してテーブルからデータが適切な順序で取得されない
Zend を使用してフィードからデータベースにデータを挿入しようとしています。また、テーブルに列 date_updated を追加して、フィード内の記事が更新されるたびに列も更新されるようにしています。しかし問題は、最初の記事が先に挿入され、その後に他の記事が挿入されることです。そのため、date_updated DESC に基づいて上位 10 の記事を選択しようとすると、最後に挿入された記事が一番上になり、ASC を使用すると古い記事が選択されます。どうすればよいか提案してください。私が書いているクエリは次のとおりです。
その後、私は使用しています
postgresql - PostgreSQL に ON DUPLICATE KEY がないのはなぜですか?
これは永続的に拒否された機能要求ですか、それとも Postgres に固有のものですか?
Postgre は InnoDB よりもパフォーマンスが高い可能性があることを読みましたが、シリアル化が少ない可能性もあると読みました (ソースがないことをお詫び申し上げます。私の初心者と記憶のために、そのステートメントを広く受け入れてください)。それと何か関係があるかもしれません。
Postgres は MySQL と比較して驚くほど機能的であり、それが私が切り替えた理由です。すでにコード行と不要な複製を大幅に削減しています。
これはちょっとした煩わしさですが、回避策のために不要と見なされるのか、それとも「何か」を渡す能力のように(おそらく認識された付加価値に対して)開発するのが非常に難しいのか、興味がUPDATE
あります(、INSERT
またはboost::lockfree::queue
それは別のものです)。
sql - 更新が一致した場合、Oracleマージが機能しない
ここに興味深いものがあります!merge
ステートメントは正常に機能します。しかし、値が一致しても、期待どおりにステータスが「B」に更新されません。理由はありますか?
[on duplicate update も使用しようとしましたが、エラーで動作しませんでした]
あなたの知識を共有してください、ありがとう!
php - xpath を使用した Codeigniter と重複キーの更新
少しアドバイスを探しています。
私は自分のウェブサイトのデータベースの更新スクリプトを持っていますが、まだそれを Codeigniter フレームワークに変換する方法を理解できていません。私のウェブサイトのホームディレクトリに独自のファイルとして保存され、そこから実行されます。
私が理解するのを難しくしていることがいくつかあります:
それはphp xpathを使用します-これをCodeigniterコントローラーに変換する方法を理解するのは難しくありませんが、各行は1つのインデックス列だけで更新されるため、foreachループを使用するのではなく、update_batchが私にとってより良い解決策になるかどうか疑問に思っています. ただし、これに関するドキュメントはほとんどありません…</p>
私のコードは MySql の On duplicate 機能を利用していますが、これは私が理解しているように、Codeigniter ではサポートされていません。
コード:
上記をコントローラー/モデル環境に実装する方法について、誰かが私を正しい方向に導くことができますか?もちろん、上記のすべてを実行する最も効率的な方法がある場合はアドバイスしてください。
乾杯!
mysql - 重複のない SQL INSERT (主キーまたは一意キーなし)
テーブル B を生成するために使用するテーブル A があるとしますON DUPLICATE KEY
。
テーブル B には、A、B、C の 3 つの列があります。
INSERT
行がまだ存在しない場合にのみ、これを行います。A と B の組み合わせで行が存在するかどうかを判断できます。そのためにWHERE NOT EXISTS
ステートメントを使用します。
テーブル B が空の場合、行が挿入されます。ただし、テーブル B にレコードがあるとすぐに、テーブル B にまだ存在していなくても、行は挿入されません。
php - Codeigniter で「ON DUPLICATE KEY UPDATE」を使用する最良の方法
だから、私はいくつかの異なる例を見てきました。Codeigniter のデフォルト ファイルを変更し、Active レコード クラスを拡張し、insert_string と insert_id を使用して、Codeigniter モデル スクリプトに手動で追加する...すべてのソリューションは、Codeigniter の別の古いバージョンに関連しており、正直に言うと、私の脳は揚げられています!
この機能を実現するための最善かつ最も効率的な方法 (2013 年) は何ですか?
ps。はい、(2013年に)Laravelなどを使用するのが最善の方法であることはわかっていますが、Codeigniterを使用する必要があります...