如何在本地数据库中创建"multiple choice"列?



我在WPF项目中第一次使用本地数据库。我有数据库设置,我正在连接好的ETC。这里有一些列,我想让它们是选择题,要么在几个值之间,要么在一堆值之间。问题很明显,输入数据时,人为错误会时不时地造成打字错误。

我该如何让数据输入给用户一个选择题呢?例如,我有一个名为"类别"的列,目前(这将在稍后扩展)我只想允许以下选项:青铜Misc

我有列设置为nvarchar(50)目前,但手动输入相同的字符串不断…这不是我想做的事,TBH…所以…我是否可以设置它,以便有一个它将接受的预定义值列表?:)

谢谢:D

可以在表列上使用任何复杂度的CHECK约束。点击MSDN所以你的表定义应该是:

CREATE TABLE T
(
    Category nvarchar(50) CHECK (Category in ('Bronze','Misc'))
)

如果您希望将来可能的值列表发生变化,并且您不想更改表定义,则可以使用值列表创建一个单独的表并使用外键。

CREATE TABLE Categories
(
    Id int PRIMARY KEY,
    CategoryName nvarchar(50)
)
INSERT INTO Categories VALUES (1, 'Bronze'), (2, 'Silver'), (3, 'Misc')
CREATE TABLE T
(
    CategoryId int REFERENCES Categories
)

最新更新