Mysql

向現有表列添加約束

  • June 4, 2021

我有一張像這樣對它們沒有任何約束的表

CREATE TABLE SomeTable
(
  Id int NOT NULL,
  Type varchar(50),
)

insert into SomeTable values (12,'Exchange-Student');

現在我知道我可以做alterintoadd constraint然後checkif type 是我想要的值。我只是不知道如何正確實現它。

例如,假設我希望它僅限於3types 'Exchange-Studen''Independent student'並且'program Student'

我將如何實施?

要更改現有表,請使用

ALTER TABLE SomeTable 
ADD CONSTRAINT `Student_type2` CHECK (Type IN 
('Exchange-Student','Independent student','program Student'))

或在 CREATE TABLE 後面添加廣告,以逗號分隔

CONSTRAINT `Student_type2` CHECK (Type IN 
('Exchange-Student','Independent student','program Student')

引用自:https://dba.stackexchange.com/questions/264378