我正在攻读数据库考试,在我的一个练习中,我应该说明这个数据库是否可以INSERT [...]
:
CREATE TABLE A (
a1 INTEGER NOT NULL PRIMARY KEY,
a2 CHAR(10) NOT NULL,
a3 CHAR(10) NOT NULL,
CHECK(a2<a3)
)
最后一位是(a2<a3)
是什么意思?
它是一个字符串,所以它比较什么,长度或什么?一些帮助会很棒,谢谢。
答案 0 :(得分:3)
insert into A values (0, 'a', 'b');
是可能的
insert into A values (1, 'b', 'a');
抛出异常
CHECK(a2 < a3)
只允许a2的值在字母表中排在第一位(低于)的插入,与a3相比。
您可以尝试执行select ascii('a');
,这样您就可以看到角色的ASCII码(此处:97)。
编辑: 请注意,像A这样的大写字母与小型模式(如
)具有不同的ascii代码