我正在使用MS Access 2010,並試圖使用SQL創建表。我想提出一些檢查約束,但我有一些麻煩:CREATE TABLE,檢查可能的文本值
CREATE TABLE Test (
tester Text CHECK (tester IN ('ABC', 'BCD', 'CDE'))
);
我得到一個語法錯誤,
有什麼建議?
謝謝!
編輯:對不起,如果我不清楚。我真正想要的是檢查測試儀是「ABC」,「BCD」還是「CDE」,這些都是他可以擁有的唯一值。
EDIT2:我試過別的東西:
CREATE TABLE Test (
tester Text NOT NULL,
CONSTRAINT m_pk PRIMARY KEY(tester),
CONSTRAINT check_tester CHECK (DATALENGTH(tester) > 2)
);
,我也得到一個語法錯誤。有沒有我真的不理解檢查文本值?我不可能看到其中哪一個是錯誤的。
你究竟想達到什麼目的?是ABC,BCD,CDE種子數據,你需要確保文本永遠不會是NULL? – blamonet 2013-03-18 00:01:35
我希望當我插入一條記錄時,它確保測試者的值是ABC,BCD,CDE。他只能擁有這些價值。 – Juicy 2013-03-18 00:03:41
我明白你的意思了,也許NOT NULL在這裏沒有必要,因爲後面的CHECK,但即使沒有NOT NULL,我仍然得到語法錯誤 – Juicy 2013-03-18 00:04:49