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)
テーブルにデータがある場合は、次の 3 つの手順でこれを行う必要があります。
- 列を追加
- 値を埋める
- ユニーク制約を追加
于 2010-09-17T11:34:52.977 に答える
1
これは 2 段階のプロセスです。新しい列を追加してから、制約を追加します。UNIQUE 制約は null を許可するため、テーブルに値が入力されているかどうかは問題ではありません。
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 に答える