gpt4 book ai didi

mysql - 在 mySQL 数据库中插入包含生成的序列 ID 的新列

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

我有以下记录,我需要插入一个名为“记录”的新列,其中生成的 ID 按升序排列;我们如何在“MySQL”数据库中做到这一点?

TERM_CODE   SUBJ_CODE   CRSE_NUMB   SCHD_CODE       CREDIT_HRS
201710 CHEN 311 L 93
201710 CHEN 311 L 96
201710 CHEN 314 L 78
201710 CHEN 314 L 81

如下所示:

Record  TERM_CODE   SUBJ_CODE   CRSE_NUMB   SCHD_CODE   CREDIT_HRS
1 201710 CHEN 311 L 93
2 201710 CHEN 311 L 96
3 201710 CHEN 314 L 78
4 201710 CHEN 314 L 81

我的 DDL 如下:

Field          Type    Collation    Null
TERM_CODE varchar(28) utf8_bin NO
SUBJ_CODE varchar(20) utf8_bin NO
CRSE_NUMB varchar(24) utf8_bin NO
CRSE_LVL varchar(50) utf8_bin YES
PIDM double NO
Count double YES
Earned varchar(20) utf8_bin YES
Job_Type varchar(50) utf8_bin YES
COST varchar(50) utf8_bin YES
COST_DES varchar(83) utf8_bin YES

最佳答案

这个问题可以分为三个步骤:

<强>1。添加列

假设表名为table_name,然后要添加一个名为records且类型为int的列,请执行以下命令:

ALTER TABLE table_name ADD record int;

<强>2。使用编号规则更新所有行的该列

为此,您需要一个附加字段。假设我们为此字段选择名称@rank。这是使用数字序列更新该列的方法:

SET @rank:=0;
update table_name
set record=@rank:=@rank+1;

<强>3。 (可选)添加 AUTO_INCRMENT 属性

您可能想要向记录添加 AUTO_INCRMENT 属性,这样您就不需要手动确定 record 的值。为此,record 列必须是主键。

如果表已有主键,则必须先使用以下命令删除它:

ALTER TABLE table_name DROP PRIMARY KEY;

然后您可以向记录添加 AUTO_INCRMENT 属性,同时将其设置为主键:

ALTER TABLE table_name CHANGE record record int AUTO_INCREMENT PRIMARY KEY;

关于mysql - 在 mySQL 数据库中插入包含生成的序列 ID 的新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47749153/

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