【发布时间】:2018-03-13 16:46:00
【问题描述】:
我有一个现有的列 people,其中包含一个列 pid。我想将pid 更改为:
int -> 5 个字符的长字符串
唯一 -> 在
pid和company_id中唯一(外键)
我目前没有在我的 mssql 数据库中使用 pid,因此我可以删除该列。我的理解是,我必须将我的任务分解为三个步骤:
- 删除列
- 添加列
- 为列添加唯一性
我的 mssql 语句会是这样吗:
ALTER TABLE people DROP COLUMN pid;
ALTER TABLE people ADD pid VARCHAR(5);
ALTER TABLE people ADD CONSTRAINT unique_pid UNIQUE (pid, company_id);
我已执行上述 mssql 语句,但在我的 people 中没有看到 pid 列。我没有注意到任何错误被抛出,我想在深入研究之前验证我的陈述是否正确。
【问题讨论】:
-
那么,您的问题到底是什么?如果是“上面的 SQL 会起作用吗?”您是否尝试过(可能在开发环境中)?如果不是,为什么不呢?去尝试一下(再次,首先使用开发环境,这就是他们的目的)!如果是,并且它确实起作用了,那么问题是什么?如果它不起作用,是什么问题?
-
@Larnu - 糟糕,我忘了添加我的问题。我已经尝试过我的陈述,但我再也看不到
pid列了。我也没有看到任何错误。 -
你刷新 SSMS 了吗?
标签: sql-server