タグ付けされた質問 「update」

UPDATEは、条件を満たすすべての行の指定された列の値を変更します。変更する列のみをSET句で指定する必要があります。明示的に変更されていない列は、以前の値を保持します。

2
別のテーブルのデータで列を更新する
複雑な問題に取り組んでいますが、この問題を簡単に説明します。 2つのテーブルがあります A [ID, column1, column2, column3] B [ID, column1, column2, column3, column4] そして、私は3番目を更新したいです: C [ID, column1, column2,column3] このクエリを使用して別の3番目のテーブルを更新しています。 UPDATE C set column1=t.firstTab, column2=t.secondTab, column3=t.thirdTab from (select A.column1 as firstTab, B.column2 as secTab, (A.column1 + B.column2) thirdTab from A, B limit 1; ) as t ; 私は得ました: UPDATE 0 このクエリを実行すると: …

1
SQL Serverクエリの動作が、UPDATEとSELECTで異なるのはなぜですか?
フィールドでパーティション分割した後、レコードを連続番号に更新するSQL Serverクエリを作成しました。SELECTステートメントとして実行すると、すべてが見栄えがします。 DECLARE @RunDetailID INT = 448 DECLARE @JobDetailID INT SELECT @JobDetailID = [JobDetailID] FROM [RunDetails] WHERE [RunDetailID] = @RunDetailID SELECT [OrderedRecords].[NewSeq9], RIGHT([OrderedRecords].[NewSeq9], 4) FROM ( SELECT [Records].*, [Records].[SortField] + RIGHT('0000' + CAST(ROW_NUMBER() OVER(PARTITION BY [Records].[SortField] ORDER BY [Records].[RunDetailID], [Records].[SortField], [Records].[PieceID]) AS VARCHAR), 4) NewSeq9 FROM ( SELECT [MRDFStorageID], [RunDetailID], …

1
MySQLでUPDATEクエリをバッチ処理する最も効率的な方法は何ですか?
大量の更新をデータベースに長期間フラッシュする必要があるアプリケーションを作成していますが、クエリを最適化する方法に行き詰まっています。現在私はを使用していますINSERT INTO ... VALUES (..), (..) ON DUPLICATE KEY UPDATE。これは、すべての値を1つのクエリにバッチ処理するように機能しますが、大きなテーブルでは非常に遅く実行されます。実際に行を挿入する必要はありません。 私が見た他のアプローチは、更新を使用SET value = CASE WHEN...することです(これはクエリを構築している方法のために生成するのが難しくCASE、数百/数千のキーのパフォーマンスについてはわかりません)、そして単に複数の連結アップデート。これらのどちらが私の現在の方法よりも速いでしょうか? 私の知る限り、MySQLでこれを行うための慣用的で効率的な方法はないことに戸惑います。よりも高速な方法がない場合ON DUPLICATE KEY、PostgreSQLに切り替えてそのUPDATE FROM構文を使用する価値はありますか? 他の提案も大歓迎です! 編集:頻繁に更新されるテーブルの1つを次に示します。無関係であるため、列名を削除しました。 CREATE TABLE IF NOT EXISTS `table` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `a` bigint(20) unsigned NOT NULL DEFAULT '0', `b` bigint(20) unsigned NOT NULL DEFAULT '0', `c` enum('0','1','2') …
10 mysql  update 

1
巨大なテーブルにシリアル列を追加する最も効率的な方法
BIGSERIAL列を巨大なテーブルに追加する最も速い方法は何ですか(〜3 Bil。行、〜174Gb)? 編集: 列を既存の行の増分値にしたい(NOT NULL)。 フィルファクターを設定しませんでした(振り返ってみると、これは悪い決定のように見えます)。 ディスク容量に問題はありません。できるだけ高速にしてください。

1
Postgresでの同時更新の最適化
私はこのようなPostgresクエリを同時に実行しています: UPDATE foo SET bar = bar + 1 WHERE baz = 1234 各クエリは固定のK行数に影響し、行が更新される順序を強制する方法が見つからないため、デッドロックが発生します。現在、私は手動で順序を強制することで問題を解決していますが、これは、通常よりも多くのクエリを実行しなければならず、検索の複雑さをO(log N + K)からO(K log N)に上げる必要があることを意味します。 デッドロックに脆弱になることなくパフォーマンスを向上させる方法はありますか?Postgresが行をスキャンしたのと同じ順序で行を更新すれば(baz)、(baz, id)索引を索引に置き換えるとうまくいくと思いますが、これは追求する価値のあるアプローチですか?

2
1つのステートメントでテーブルの多くの行を更新しますか?
テーブルの多くの行を更新する最も簡単な方法は何ですか?次のようなcsvファイルがあります。 |primary_key |value| | 1 | xyz| | 2 | abc| | 3 | def| ... これらの主キーを持つ行はすでにターゲットテーブルに存在します これらの値でターゲットテーブルを更新したいと思います。構文はありますか? update mytable set value = ('xyz', 'abc', 'def') where primary key = (1,2,3); 覗きMySQLの更新リファレンス、このサイト(MySQLの- CSV更新)、SO(更新複数行、複数のDBの更新、更新複数行)、私は答えは「ノー」であると思われるが、私が好きな確認するために、このことを本当です。
9 mysql  update  replace 

2
サイズ5kの行を更新するときの8k行オーバーフローエラー
サイズが5kの行が1つあるターゲットテーブルも、サイズが5kの行に更新しようとしています。 1行なので、行の実際のサイズを簡単に知ることができます。 select * from sys.dm_db_index_physical_stats(DB_ID('RODS_HSD_ES'), OBJECT_ID(N'TBL_BM_HSD_SUBJECT_AN_148_REPRO'), NULL, NULL, 'DETAILED') 再現する テーブルは作成以来変更されていません。失敗する理由はありません。アイデア?

1
PostgreSQLのJSON []配列から既知の要素を削除する方法は?
PostgreSQLでのJSONデータ型の使用に関する問題に直面しています。非正規化されたJavaモデルをDBに格納しようとしています。モデルは複雑なオブジェクトのリストを備えています。そのため、これらをネイティブのPostgreSQL配列でJSONとしてモデル化することにしました。 これは私のテーブル作成ステートメントの抜粋です: CREATE TABLE test.persons ( id UUID, firstName TEXT, lastName TEXT, communicationData JSON[], CONSTRAINT pk_person PRIMARY KEY (id) ); ご覧のとおり、それはJSONで通信データオブジェクトのリストを備えた人物です。そのようなオブジェクトの1つは次のようになります。 {"value" : "03334/254147", "typeId" : "ea4e7d7e-7b87-4628-ba50-6a5f6e63dbf6"} PostgreSQLのarray_appendを使用して、このようなJSONオブジェクトを配列に簡単に追加できます。ただし、既知の値をアレイから削除できません。次のSQLステートメントについて考えてみます。 UPDATE test.persons SET communicationData = array_remove( communicationData, '{"value" : "03334/254147", "typeId" : "ea4e7d7e-7b87-4628-ba50-6a5f6e63dbf6"}'::JSON ) WHERE id = 'f671eb6a-d603-11e3-bf6f-07ba007d953d'; これはで失敗しERROR: could not identify …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.