我创建了一个存储员工记录的信息表,它的 SQL 查询如下...
CREATE TABLE info1 (
empid VARCHAR(8) PRIMARY KEY CONSTRAINT empchk
CHECK (empid IN ('kh\%' ESCAPE '\''),
initials CHAR(6), fname CHAR(25) NOT NULL,
lname CHAR(25),
userstatus INTEGER NOT NULL,
designation CHAR(10) NOT NULL
);
现在,正如你所看到的,约束在empid哪里kh%——据我所知——%意味着任何数量的以下字符(8当然限于)可以是任何东西,对吧?
我正在使用Java DB,奇怪的是它也将%符号作为字符串的一部分,所以如果我输入khce0001,它会说empchk违规,它只接受kh%
我应该怎么办?为什么会这样?