如何使用ALTER TABLE
添加新列并使其独一无二?
问问题
25770 次
4 回答
22
取决于 DBMS,但我认为以下内容非常便携:
ALTER TABLE table_name ADD column_name datatype
ALTER TABLE table_name ADD UNIQUE (column_name)
如果要为UNIQUE
约束命名,可以将最后一个命令替换为:
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column_name)
于 2010-09-17T11:33:30.110 回答
5
如果表为空
ALTER TABLE ADD (FieldName Type)
ALTER TABLE ADD CONSTRAINT UNIQUE(FieldName)
如果表中有数据,则需要分三步完成:
- 添加列
- 填充值
- 添加唯一约束
于 2010-09-17T11:34:52.977 回答
2
您可以使用单个 SQL 语句(至少使用 MySQL)来完成:
ALTER TABLE `people` ADD COLUMN `personal_code` VARCHAR(50) UNIQUE AFTER `surname`;
于 2017-08-29T14:22:30.607 回答
1
这是一个两步过程:添加新列,然后添加约束。因为 UNIQUE 约束允许空值,所以是否填充表并不重要:
SQL> select count(*) from t23
2 /
COUNT(*)
----------
2
SQL> alter table t23
2 add new_col number
3 /
Table altered.
SQL> alter table t23
2 add constraint t23_uk unique (new_col)
3 /
Table altered.
SQL>
于 2010-09-17T11:48:59.417 回答