0
嗨我想使用CHECK約束來阻止一行大於另一行。列之間的CHECK約束
create table myTable (
begin int(10),
end int(10),
check (begin < end)
);
該表已創建,但插入行時沒有應用約束。
任何幫助我做錯了會很好。
嗨我想使用CHECK約束來阻止一行大於另一行。列之間的CHECK約束
create table myTable (
begin int(10),
end int(10),
check (begin < end)
);
該表已創建,但插入行時沒有應用約束。
任何幫助我做錯了會很好。
您必須給出約束的名稱。
CREATE TABLE myTable
(
begin NUMBER (10),
end NUMBER (10),
CONSTRAINT constr_begin_end CHECK (begin < end)
);
此外,begin
和end
在Oracle
關鍵字。在列名稱,變量名稱中避免這種情況。
這是在SQL Server?我只是很不確定你是怎麼用int(10)成功創建表的。無論如何,你可以檢查使用'sp_help myTable'創建的約束。 – hallie
您使用的是什麼RDBMS(MySql,SQL Server,Oracle等)? – peterm
@hallie oracle是什麼使用 – user2447832