pro*_*ems 4 sql sql-server foreign-keys
我现在已经有这个问题了几个小时了.在SQL Server,我运行此查询:
INSERT INTO USERS_AVATAR(userId, avatId) VALUES ('1', '213');
INSERT INTO USERS_AVATAR(userId, avatId) VALUES ('2', '312');
Run Code Online (Sandbox Code Playgroud)
但是消息显示:
消息547,级别16,状态0,行1
INSERT语句与FOREIGN KEY约束"FKUSERS_AVAT731248"冲突.冲突发生在数据库"gk314",表"gk314.USERS",列'userId'中.消息547,级别16,状态0,行2
INSERT语句与FOREIGN KEY约束"FKUSERS_AVAT731248"冲突.冲突发生在数据库"gk314",表"gk314.USERS",列'userId'中.
请帮忙!
外键约束是 SQL 表达“此表期望数据存在于其他表中”的方式。它允许您引用其他表,而数据不必存在两次或保持同步。
在本例中,有一个用于用户数据的表 ( USERS) 和一个用于头像数据的表 ( AVATARS),并且该USERS_AVATAR表将两者链接在一起。您需要将用户添加到用户表中,然后将头像添加到头像表中,然后可以将两者链接在一起。它看起来像这样:
INSERT INTO USERS (userId, email, password, status) VALUES (1, 'gk314@hotmail.com',' gk314', 'strong')
INSERT INTO AVATARS (avatId, name, ...) VALUES (1, 'Avatar1', ...)
INSERT INTO USERS_AVATAR (userId, avatId) VALUES (1, 1)
Run Code Online (Sandbox Code Playgroud)
原答案:
这意味着有一个表 ,gk314.USERS但没有与您尝试添加的userId表相匹配的。检查表并添加用户1和2,然后您应该可以添加到表中。userIdUSERS_AVATARUSERSuserIdUSERS_AVATAR