我有一个表格Plane其中是列made_in_year(INT),我需要一个新列 last_repair(datetime)NOT NULL ,它需要具有 last_repair&gt; = made_in_year <的条件/ strong>我不知道如何添加该条件或我应该使用什么语法... 我知道我必须使用 ALTER TABLE Plane ALTER COLUMN last_repair DATETIME xxxxxxxxx 以及我应该使用什么代替xxxxxx?
答案 0 :(得分:2)
试试这个:
alter table Plane
add constraint myconstraint
check(last_repair>= made_in_year)
答案 1 :(得分:1)
我以为你想同时添加列和约束。
ALTER TABLE Plane
ADD last_repair DATETIME NOT NULL
CONSTRAINT repair_chk CHECK (last_repair >= made_in_year)
DEFAULT(-1);
然后因为你想要NOT NULL,你需要指定一个默认值,但我无法弄清楚如何在最后一个语句中设置last_repair = made_in_year,所以这里是一个更新。
UPDATE Plane
SET last_repair = made_in_year
WHERE last_repair = -1;