您的位置:首页 > 数据库 > MySQL

改动已经存在数据的MySQL表结构

2016-04-08 21:10 429 查看
有时候我们需要对已经存在数据库中的表,进行一些改动,针对这种情况,有如下常用的SQL语句:

往已经存在一个表中添加一个新的column “id”

ALTER TABLE testdb.testtable
Add id bigint(20)


取消表的原有主键

ALTER TABLE testdb.testtable
DROP primary key


设置”id”为主键

ALTER TABLE testdb.testtable
ADD PRIMARY KEY (id)


取消表中的某一列”id”

ALTER TABLE testdb.testtable
DROP COLUMN id


现在有这样一个题目:

往已经存在数据的表中添加一个新的column “id”,并让其值依次递增,取消表的原有主键,设置”id”为主键

下面给出题目要求的做法:

改动前的表:

namesextitle
LilifemalDev
LileimaleQA
往已经存在一个表中添加一个新的column “id”,设置其为主键,并让其值依次递增

ALTER TABLE testdb.testtable ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;


执行上面一条SQL,可得改动后的表:

namesextitleid
LilifemaleDev1
LileimaleQA2
有时候我们会发现,改动后的id,并不是按照加1来增加的。递增步长控制着增加的数值:

设置递增步长

SET @@auto_increment_increment=1;
SHOW VARIABLES LIKE 'auto_inc%';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: