如题所述
Sql server 数据库才可以
例如:
CREATE TABLE test_create_tab2 (
id INT IDENTITY(1, 1) PRIMARY KEY,
val VARCHAR(10)
);追问
例如:
CREATE TABLE test_create_tab2 (
id INT IDENTITY(1, 1) PRIMARY KEY,
val VARCHAR(10)
);追问
是sql server ,现在是建好了 但是主键建不了了,能不能用代码删除这个标识列,都没名字
追答主键建不了? 报什么错误呀?
难道是像下面这种情况的错误?
无法在表 'test_tab' 中可为空的列上定义 PRIMARY KEY 约束。
先给那一列加个 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
你这个错误信息. 是重复创建 id 列了
要先删除, 后创建
或者 仅仅 修改 id 列, 而不是再创建一个 id 列
-- 这个是创建 id 列
ALTER TABLE test_tab
ADD id INT ......
-- 这个是 修改 id 列
ALTER TABLE test_tab
ALTER COLUMN id INT NOT NULL;
一个表, 不能有2个 id 列啊
温馨提示:答案为网友推荐,仅供参考
第1个回答 2020-04-03
2005里倒是有一个row_number()函数可以实现,不是2005只能建一个带自动编号的临时表,插入现有数据再查询出来