gpt4 book ai didi

mysql - 在 Mysql 的新列中插入值

转载 作者:行者123 更新时间:2023-11-29 06:52:08 25 4
gpt4 key购买 nike

我有一个表 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 属性。

关于mysql - 在 Mysql 的新列中插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14694194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com