gpt4 book ai didi

mysql - 在 SQL 表中添加特定字段

转载 作者:行者123 更新时间:2023-11-29 00:23:14 24 4
gpt4 key购买 nike

我有这样一张表:

date time user data
131111 111111 Mike 23
131111 121212 Linda 12
131111 131323 Mike 45

我想根据数据库中的现有数据添加一个名为“userID”的字段:

date time user userID data
131111 111111 Mike 1 23
131111 121212 Linda 2 12
131111 131323 Mike 1 45

只要userID一对一映射到现有用户就可以了。如果从 1 开始到 #ofUsers 会更好。

有没有干净的解决方案?

最佳答案

尝试这样的事情:

首先添加新列:

ALTER TABLE tab1 ADD userid INT NOT NULL;

然后你做:

UPDATE tab1 t1
INNER JOIN (
SELECT a.user, @rownum := @rownum + 1 AS newID
FROM (
SELECT DISTINCT user
FROM tab1
ORDER BY user
) a
JOIN (
SELECT @rownum := 0
) r
) t2 ON t1.user = t2.user
SET t1.userid = t2.newID

sqlfiddle demo

内部查询为表中的每个不同用户获取一个唯一 ID(从 1 开始并按字母顺序递增。如果您不关心任何顺序,可以删除顺序)并相应地更新您的表。

希望这对您有所帮助。

关于mysql - 在 SQL 表中添加特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20270765/

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