我有一个表格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')
祝你好运!