T
3行のデータを含むテーブルがあります。ここで、新しい列を追加しましたc
。次に、既存の行の
値をに挿入します。
私はこのようにします:c
insert into T (c) values(1),(2),(3);
ただし、既存のデータを更新する代わりに、新しい行を挿入しました。
既存のデータを更新するにはどうすればよいですか?
where句を指定したくありません。挿入と同じように、シリアルごとに値を追加したいだけです。
T
3行のデータを含むテーブルがあります。ここで、新しい列を追加しましたc
。次に、既存の行の
値をに挿入します。
私はこのようにします:c
insert into T (c) values(1),(2),(3);
ただし、既存のデータを更新する代わりに、新しい行を挿入しました。
既存のデータを更新するにはどうすればよいですか?
where句を指定したくありません。挿入と同じように、シリアルごとに値を追加したいだけです。
UPDATE ステートメントを使用して、既存の行の列に値を割り当てます。
UPDATE t
SET t.c = 1
WHERE t.a = 1 ;
既存の各行に一意の連続した整数を割り当てるには、主キーまたは各行の一意の識別子を使用する必要があります。この例では、id
列が一意であると想定しています。
UPDATE t
JOIN ( SELECT r.id
, @i := @i + 1 AS i
FROM t r
JOIN (SELECT @i := 0) n
ORDER BY r.id
) s
ON s.id = t.id
SET t.c = s.i
実際には、これを行うこともできます:
UPDATE t
JOIN ( SELECT @i := 0 ) n
SET t.c = @i := @i + 1
ORDER BY t.id
AUTO_INCREMENT 属性を調べたいと思われるかもしれません。
以下のクエリを使用できます
UPDATE Table
SET Col1='1', Col2='2'
等々...
また、以下のように、特定の条件でデータを更新する場合は、where 条件を使用できます。 ---これは、私のデータベースで使用されるクエリの単なる例です---
UPDATE City_Employee
SET City='Banglore' where (City='Delhi')
頑張ってください!