在使用PostgreSQL(或其他一些支持它的数据库)时,似乎最好使用TEXT
数据类型,而不是character varying(NN)
,因为没有性能损失,可以通过删除和重新应用约束来调整最大可能长度,而不影响使用该字段的任何视图等.
但是,这个约束是如何应用的(SQL代码)?
在使用PostgreSQL(或其他一些支持它的数据库)时,似乎最好使用TEXT
数据类型,而不是character varying(NN)
,因为没有性能损失,可以通过删除和重新应用约束来调整最大可能长度,而不影响使用该字段的任何视图等.
但是,这个约束是如何应用的(SQL代码)?
当你创建表格时,你可以做这样的事情,
CREATE TABLE names (
name text CONSTRAINT namechk CHECK (char_length(name) <= 255)
)
(100 is just a name for the constraint)
同样的情况也适用于ALTER TABLE
,例如:
ALTER TABLE names
ADD CONSTRAINT namechk CHECK (char_length(name) <= 255);