我需要创建一个新的空表,其中每个新值应由服务器使用其列的格式进行验证。比如,###-###-##
,其中每个#
是从0到9的数字,它应该包含那些-
符号。怎么样?
使用CHECK
约束:
CREATE TABLE YourTable (
Col1 VARCHAR(10),
CONSTRAINT MyContraint CHECK (Col1 LIKE '[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9]')
);
不,不要那样做!那不行。
如果您有多租户应用程序,并且不同的客户希望以不同的格式存储该值,您将被困。
最好的方法是在客户端验证模式,并以自由形式存储在db中。