我对SQL很愚蠢,所以这是一个微不足道的问题。
如果我有这样的表结构。
用户:
Id (primary key)
用户配置:
UserId (foreign key, primary key in user table)
OtherStuff
我已将UserProfile.UserId
设置为将其链接到User.Id
列的外键。
如何确保人们不会在UserProfile
表格中为同一用户输入多行?
我是否在UNIQUE
列上设置了UserProfile.UserId
约束?这是我能想到的唯一方式。
答案 0 :(得分:1)
创建唯一约束。此外,假设因为它是一个ID列,您不想允许空值,您也可以修改该列以不接受空值。如果您不想允许空值,则必须在列上使用NOT NULL条件定义alter table。
您可以使用此语法更改userprofile表并添加唯一约束:
ALTER TABLE userprofile
ADD CONSTRAINT <constraint_name> UNIQUE (userid);
如果您不想允许空值:
ALTER TABLE [Table]
Alter COLUMN [Column] [Data Type] not null;