我有以下记录,我需要插入一个名为"记录"的新列。生成的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
答案 0 :(得分:1)
这个问题可以分为三个步骤:
<强> 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_INCREMENT
属性
您可能希望在记录中添加AUTO_INCREMENT
属性,这样您就不需要手动确定record
的值。为此,列record
必须是主键。
如果表已有主键,则必须先使用以下命令将其删除:
ALTER TABLE table_name DROP PRIMARY KEY;
然后,您可以将AUTO_INCREMENT
属性添加到记录中,同时将其设置为主键:
ALTER TABLE table_name CHANGE record record int AUTO_INCREMENT PRIMARY KEY;