テーブル内の 10000 を超える行を更新する必要があり、テーブルに 700000 を超えるレコードが含まれていて、主キーを更新する必要がある行が継続的に存在する場合。最大の主キーを取得してから、SQLクエリで「以下」を使用するか、クエリで使用する必要がありますか?
質問する
774 次
2 に答える
1
使用するのが最善ですbetween
entity_id(PK) が 10 から 10000 の範囲にあるテーブルの column1 を更新するとします。
update table set column1=somevalue where id between 10 and 10000
Usingin
句では、サブクエリからIDを取得するか、中括弧を入れる必要があります
于 2012-12-06T06:56:21.843 に答える
0
それらは同一であるため、速度やその他の点で違いはありません。もっと自然に使ったほうがいい。
単純に以下を使用できます
UPDATE table_name SET column_name=value WHERE row_id <= 10000
注意すべきことの 1 つは、これを DATETIME に対して使用している場合、終了日の一致がその日の始まりになることです。
<= 6/12/2012 は <= 6/12/2012 23:59:59 と同じではありません (これは <= 6/12/2012 00:00:00.000 と一致します)
于 2012-12-06T07:08:51.390 に答える