SQL DDL 地址必须包含

SQL DDL address must contain

如何为地址编写约束,使其同时包含街道地址和数字?无需处理包含公寓号或楼层的地址。谢谢

您可以在 CHECK 约束中使用正则表达式:

check(street_address RLIKE'^[0-9]*[[:space:]].*$')

或任何对您的专栏有意义的内容

哪里可以使用 CHECK 约束和 RLIKE 正则表达式.
这里简单说了必须有一个数字后接一个或多个单词,允许有连字符和下划线。
注意 mySQL 仅在较新的版本中强制执行此操作。在您的版本中检查这个试用脚本,看看它是否有效。如果不强制执行,唯一的解决方案是触发器 ON INSERT

create table user(
  name varchar(25),
  adresse varchar(25) check (adresse rlike '[0-9]+ [- a-zA-Z]+')
  );
insert into user values ('Boris', '10 Downing Street');
insert into user values ('Poutin','The Kremlin');
Check constraint 'user_chk_1' is violated.

db<>fiddle here