不知道你什么数据库
假如是 SQL Server 的话, 主键必须先非空
1> CREATE TABLE test_tab (
2> id INT,
3> name VARCHAR(10),
4> age INT,
5> val VARCHAR(10)
6> );
7> go
1> ALTER TABLE test_tab
2> ADD CONSTRAINT pk_test_tab PRIMARY KEY(id);
3> go
消息 8111,级别 16,状态 1,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行
无法在表 'test_tab' 中可为空的列上定义 PRIMARY KEY 约束。
消息 1750,级别 16,状态 1,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行
无法创建约束。请参阅前面的错误消息。
首先对 id 这个列,增加一个 NOT NULL 约束,然后再设置为主键。
1> ALTER TABLE test_tab
2> ALTER COLUMN id INT NOT NULL;
3> go
1> ALTER TABLE test_tab
2> ADD CONSTRAINT pk_test_tab PRIMARY KEY(id);
3> go
如果表之前有主键则先删除:
alter table 表名 drop constraint 主键名
修改主键:
alter table 表名 add constraint 主键名 primary key (column1,column2,,column)
alter table t1 drop column c1
alter table t1 add column c1int identity
以上就是关于用SQL脚本修改表的的主键问题全部的内容,包括:用SQL脚本修改表的的主键问题、mysql数据库如何修改某一列主键的属性,让其自动增长,如下图,怎么修改才可以、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)