這是我在SQL 2012SQL檢查身份證號碼使用LIKE子句
CREATE TABLE Guest(
id INTEGER,
fname CHAR(10),
lname CHAR(15) NOT NULL,
NIC VARCHAR(10) CHECK(NIC LIKE '[0-9]''[0-9]''[0-9]''[0-9]''[0-9]''[0-9]''[0-9]''[0-9]''[0-9]''V'),
guestaddress VARCHAR(50),
room_no INTEGER CHECK(room_no BETWEEN 300 AND 700),
CONSTRAINT pk_Guest PRIMARY KEY (id),
CONSTRAINT fk_Guest FOREIGN KEY (room_no) REFERENCES Room (room_no)
)
創建表的代碼和我想插入以下記錄表
INSERT INTO Guest VALUES(213,'Alex','King','908249792V','No 20,Park Road,Colombo 06',300)
但shows an error,with the NIC number
。我該如何解決這個問題?
(NIC國民身份證號碼包含9位數字,像 123456789V一個V)
你的錯誤是什麼? – inetphantom
INSERT語句與CHECK約束「CK__Guest__NIC__32E0915F」衝突。衝突發生在數據庫「dbSeasideHS」,表「dbo.Guest」,列'NIC'中。 該聲明已被終止。 – laish129