Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将一个表的主键上的外键构造为另一个表的2列_Mysql_Sql_Foreign Keys - Fatal编程技术网

Mysql 将一个表的主键上的外键构造为另一个表的2列

Mysql 将一个表的主键上的外键构造为另一个表的2列,mysql,sql,foreign-keys,Mysql,Sql,Foreign Keys,我有两个表,用户和问题 User ID Security_Question_Id_First Security answer_First Security_question_ID_Second Security_Answer_Second Questions ID Security Questions 我需要在Security_question_Id_First和Id of Questions表以及Se

我有两个表,
用户
问题

User 
    ID     
    Security_Question_Id_First  
    Security answer_First  
    Security_question_ID_Second  
    Security_Answer_Second

Questions
    ID     
    Security Questions
我需要在Security_question_Id_First和Id of Questions表以及Security_question-Id-Second和Id of Questions表上设置外键约束


目前,我创建了用户和问题表,其中用户除了Id之外只有安全性问题Id第一安全性答案第一。安全性问题Id第一和问题Id表之间存在外部约束。当我尝试添加具有安全性问题Id第二和问题Id表的外部约束时,它引发了一个错误。您能建议如何在一个表(用户)的两列和另一个表(问题)的主键之间添加外部约束吗?

要改进您的问题,请添加
SHOW CREATE table
输出。对于有问题的两个表,请添加您运行的SQL以添加约束,并添加您收到的错误。通常不会导致错误。你能告诉我们确切的错误吗?这是因为你不应该在数据库中有这样的结构。您应该有一个子表UserSecurityquestion。任何时候,如果您使用诸如XXX1、XXX2之类的名称命名列,则表示您需要一个相关的表。@HLGEM您是对的,但您不会因为错误的做法而得到错误。允许两列FK到同一列。感谢各位的快速响应。正在获取的错误在用户表中。security_question_id-second的默认值为0,在创建外部约束时,搜索questions表以查看主键的值是否为0,因此我得到错误“无法添加或更新子行:外键约束失败”.我已采纳HLGEM的建议,并参考中定义的结构。