Mysql 关于2表的列关系
我有3张表Mysql 关于2表的列关系,mysql,database,relationship,Mysql,Database,Relationship,我有3张表用户,管理员,票证 票证可以由用户或管理员发送,因此我需要在票证和管理员之间添加关系,票证和用户 我认为解决方案是像这样创建ticket表 ticket(id,content,usertype,userid)和usertype是ENUM('admin','user') 因此,如果usertype=admin,userid请参考admin表格,如果usertype=user,userid请参考user表格 现在我有两个问题 1.我创建表的方法正确吗 2.如果正确,如何添加外键 我使用的是
用户
,管理员
,票证
票证可以由用户
或管理员
发送,因此我需要在票证
和管理员
之间添加关系,票证
和用户
我认为解决方案是像这样创建ticket
表
ticket(id,content,usertype,userid)
和usertype
是ENUM('admin','user')
因此,如果usertype=admin
,userid
请参考admin
表格,如果usertype=user
,userid
请参考user
表格
现在我有两个问题
1.我创建表的方法正确吗
2.如果正确,如何添加外键
我使用的是MySQL,你几乎把它做对了。
您需要创建一个不相交的(如OOP中的继承)
票证
应单独用3个表格表示:
1-ticket(id,content)
其中id
是主键
2-ticket\u user(id,userid)
,这里两个属性都是主键,userid
是user
表的外键,id
是指向ticket
表的外键
3-ticket\u admin(id,adminid)
,与上面相同,adminid
指向admin
表
我的回答是基于我在大学上的数据库设计课程,我们没有使用MySQL,所以我不能确切地告诉你如何实现它