【发布时间】:2010-02-20 09:36:32
【问题描述】:
我在数据库表中有一个名为type 的字段。我希望此字段包含预定义值列表中的值。如果我使用set 作为该字段的数据类型,那么它可以包含多个列表中的值。
使用什么数据类型,以便它只能包含值列表中的一个值(预定义)?
【问题讨论】:
标签: mysql sql-server database
我在数据库表中有一个名为type 的字段。我希望此字段包含预定义值列表中的值。如果我使用set 作为该字段的数据类型,那么它可以包含多个列表中的值。
使用什么数据类型,以便它只能包含值列表中的一个值(预定义)?
【问题讨论】:
标签: mysql sql-server database
对于 mySQL,您需要 ENUM。
ENUM 是一个字符串对象,其值选自创建表时列规范中明确枚举的允许值列表。
据我所知,MS SQL 没有 ENUM 类型。 (如果我错了,请纠正我。)您通常会使用整数值,并在应用程序中解析它们。要限制可能值的范围,可以使用CHECK constraint。
【讨论】:
您需要为此使用enum 数据类型。
【讨论】: