数据库/ SQL:表的属性/键名是唯一的吗?

时间:2013-11-07 11:47:58

标签: mysql sql database

在数据库中,我可以为多个表使用相同的属性名称,但属性名称的描述不一定相同吗?例如,我有一个家具店的表格:

Table1(itemID, type)

 - type = car, tv, furniture

Table2(custID, type)

 - type = new member, vip    
 - I know I could re-name "type" to something like membership_type, but for this example, let's assume the above is the attribute name that I'm using.

我可以在两个表中使用type作为属性名吗?

如上所述,在SQL中,键名是否唯一?我可以为多个表使用相同的密钥名称,但对该密钥名称有不同的用途吗?

1 个答案:

答案 0 :(得分:0)

Can I use type as an attribute name in both table?

in SQL, are key names unique?

在SQL中,您指定一个或多个列以形成主键。每个列名在给定表中都是唯一的。您不能在名为type的同一个表中有2列。当您指定列名是主键时,会为您创建一个称为约束(具有默认名称)的东西,默认名称是唯一的,您也可以选择其名称,但很可能您现在不想担心它

 Can I use the same key name for multiple tables, but have different use for that key name? 

如果在查询中使用2个表,并且要列出2个具有相同名称的列,则需要告知数据库 - 示例:

SELECT ItemID, T1.Type, CustID, T2.Type
From Table1 T1, Table2 T2

这里我们必须通过使用T1.Type和T2.Type来区分table1中的Type和table2中的Type。