問題タブ [sql-update]

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 投票する
18 に答える
451419 参照

mysql - MySQL の複数の更新

一度に複数の行を挿入できることは知っていますが、MySQL で複数の行を一度に (1 つのクエリのように) 更新する方法はありますか?

編集:たとえば、次のものがあります

次のすべての更新を 1 つのクエリに結合したい

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

sql-server - SQLServer2005の自動更新日時列-LastUpdated

テーブルを定義しました(以下のコードスニペットを参照)。行が変更されるたびにLastUpdate列が自動的に更新されるように、制約などを追加するにはどうすればよいですか?

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

mysql - 1つのクエリでテーブルを更新/選択できますか?

ページが表示されたときにデータを選択し、「ビュー」列を更新する必要があります。これを1つのクエリで行う方法はありますか、それとも個別のクエリに使用する必要がありますか?

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

sql - 複数の列でDISTINCTを選択するにはどうすればよいですか(またはできますか)?

2つの列を組み合わせたテーブルからすべての行を取得する必要があります。そのため、同じ日に同じ価格で発生した他の販売がないすべての販売が必要です。日と価格に基づいて一意の販売は、アクティブなステータスに更新されます。

だから私は考えています:

しかし、私の脳はそれ以上に行くのが痛いです。

0 投票する
6 に答える
21523 参照

sql - 非常に大きな PostgreSQL データベース テーブルを効率的に更新する

PostgresQL に非常に大きなデータベース テーブルがあり、「コピー済み」のような列があります。すべての新しい行はコピーされずに開始され、後でバックグラウンド プログラムによって別のものに複製されます。そのテーブルには部分インデックス「btree(ID) WHERE replicated=0」があります。バックグラウンド プログラムは、最大 2000 エントリ (LIMIT 2000) の選択を行い、それらを処理してから、2000 の準備された SQL コマンドを使用して 1 つのトランザクションで変更をコミットします。

ここでの問題は、この複製された値をリセットするオプションをユーザーに提供し、すべてをゼロに戻すことです。

更新テーブル セット レプリケート = 0;

不可能です:

  • とても時間がかかります
  • MVCCのため、テーブルのサイズが重複しています
  • 1 つのトランザクションで実行されます。失敗するか、通過します。

この場合、実際にはトランザクション機能は必要ありません。システムがダウンした場合、システムはその一部のみを処理します。

その他のいくつかの問題:

また、悪いことです。テーブル全体でシーケンシャル スキャンを実行するため、遅すぎます。そうしないと、シークが多すぎるため、まだ遅くなります。

私が本当に必要としているのは、すべての行を通過し、それらを変更し、巨大なトランザクションに縛られない方法です。

奇妙なことに、

良いことではありますが、これも遅いです: DISK 順にテーブルを調べます...

(その場合、これをカバーする索引もあったことに注意してください)

(Mysql のような更新 LIMIT は PostgresQL では使用できません)

ところで: 本当の問題はもっと複雑で、既に展開されている組み込みシステムについて話しているので、リモートでスキーマを変更することは困難ですが、残念ながら PostgresQL 7.4 である可能性があります。

私が話している行の量は、たとえば 90000000 です。データベースのサイズは、数十ギガバイトになる場合があります。

データベース自体には 5 つのテーブルしか含まれておらず、そのうちの 1 つは非常に大きなものです。しかし、これは悪い設計ではありません。これらの組み込みボックスは、ERP システムなどではなく、1 種類のエンティティでのみ動作するからです。

何か案は?

0 投票する
8 に答える
363 参照

mysql - 盲目的に更新するか、どこで更新するか?

ゲーム内の都市に関する情報を保持するテーブルがあります。毎ターン1つの建物を建てることができ、これは「usedBuilding」という値で記録されます。

毎ターン、usedBuildingを0に変更するスクリプトを実行します。問題は、次の2つの方法のどちらが高速で、どちらの方法を使用するかが実際に重要かどうかです。

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

sql - 別のテーブルの行からテーブルを一括更新する

2つのテーブル:

同じを持っているテーブルEmployees.LeadCount内のリードの数を数えて列を更新したいと思います。LeadsEmployeeID

注:同じemployeeIDを持つリードが複数ある可能性があるため、を実行する必要がありDISTINCT(SUM(employeeID))ます。

0 投票する
4 に答える
109872 参照

mysql - UPDATE を実行する場合 ... datetime = NOW(); 更新されたすべての行は同じ日付/時刻になりますか?

次のようなものを実行すると:

1 000 000 000 のレコードがあり、クエリの実行に 10 秒かかるテーブルでは、すべての行がまったく同じ時間 (分と秒) になりますか、それとも異なる時間になりますか? つまり、クエリが開始されたときですか、それとも各行が更新されたときですか?

私は MySQL を実行していますが、これはすべてのデータベースに当てはまると思います。

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

mysql - 別のテーブルから列を更新する - mySQL 3.5.2

mySQL データベース テーブルの列を別のテーブルから更新する方法をいくつか試しましたが、うまくいきません。

バージョン 3.5.2 は複数テーブルの更新をサポートしていないことをどこかで読みましたが、コードベースのソリューションが必要です。それは正しいですか?

そうでない場合、誰かがSQLを使用して正しい方向に向けることができますか?

また:

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

mysql - これは MySQL でクエリを更新する正しい方法ですか?

php/mysql アプリケーションのバグを見つける際に問題が発生しました。次のようなことができないかと考えています: UPDATE table SET userid='2' WHERE userid='1'- > WHERE に記述した内容を更新できますか?