Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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 在多个表中使用相同的列名_Mysql - Fatal编程技术网

Mysql 在多个表中使用相同的列名

Mysql 在多个表中使用相同的列名,mysql,Mysql,我正在建立一个电子学习网站。我有三种类型的用户:新手、中级和专家。我有3个表格:讲座、章节和页面。对于每个表格,我必须通过添加讲座、章节和页面的用户类型来区分它们。 将相同的列名类别(可以是新手、中级或专家)添加到所有3个表中是否是一种好的做法?如果以后要向用户类别添加更多特征,最好为此创建一个单独的表(例如:用户类别)并在所有3个内容表中参考此表。它看起来是这样的: CREATE TABLE user_types (id int PRIMARY KEY, name VARCHAR(20));

我正在建立一个电子学习网站。我有三种类型的用户:新手、中级和专家。我有3个表格:讲座、章节和页面。对于每个表格,我必须通过添加讲座、章节和页面的用户类型来区分它们。
将相同的列名
类别
(可以是新手、中级或专家)添加到所有3个表中是否是一种好的做法?

如果以后要向用户类别添加更多特征,最好为此创建一个单独的表(例如:用户类别)并在所有3个内容表中参考此表。它看起来是这样的:

CREATE TABLE user_types (id int PRIMARY KEY, name VARCHAR(20));
CREATE TABLE lectures (id int PRIMARY KEY, user_type int REFERENCES user_types(id));

您也可以参考这篇文章来决定如何处理您的案例:

这是一个查找实践。仍然选择表时,您需要为它们设置别名。所以,像“name”这样的词应该是“table1.name”,“table2.name”,等等……所以我不会因为这种做法而受到惩罚。因为如果我创建一个名为
category
的新表,我只有两个字段,分别是
ID
type
-(新手/inter/expert)