嗨,我试图检查一个特殊的九个字符的组合,但我认为我做得很好,但它失败了,当我尝试插入例如dni 12345678a。我的表达式是dni,必须由8个数字和一个字母组成,除了i,ñ, o、 这是我的密码:
CREATE TABLE PERSONAS
(
dni CHAR(9) ,
id INT NOT NULL UNIQUE AUTO_INCREMENT PRIMARY KEY,
nombre varchar(50) NOT NULL,
apellido1 varchar(50) NOT NULL,
telefono CHAR(9),
CONSTRAINT chk_tel CHECK (telefono not like '%[^0-9]%'),
CONSTRAINT chk_dni CHECK (dni LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][A-H]' or '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][J-N]'
or '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][P-T]' or '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][V-Z]'),
);
1条答案
按热度按时间mkshixfv1#
你的问题被标记为mysql。在该数据库中,使用正则表达式:
这是一把小提琴。