如何在mysql中查找表的主键

时间:2014-02-14 16:32:31

标签: mysql

我在MySQL中有一个名为inventory的给定表。表中的所有描述都是null ='是',默认='Null'。表中的字段名称是库存,物料,销售和员工。 在库存表中我有part_no,decript,on_hand,location,unitcost,discontinue ..

说明part_no是我的主键是正确的,因为此记录不能具有重复值。

感谢您确认或更正我的假设..是否有查询可以验证这一点。

2 个答案:

答案 0 :(得分:1)

你已经创建了你的桌子吗?并找到主键?主键确保唯一行并限制重复值。如果要查找表的主键使用。

  

SHOW KEYS FROM tablename WHERE Key_name ='PRIMARY'

答案 1 :(得分:0)

以下查询获取part_no及其出现次数,如果您看到2或更高,则part_no不能成为您的主键,您必须选择其他或更多主键。确保part_no IS NOT NULL !!! ,因为您不能拥有空主键

select part_no, count(*) as appearances
from inventory
group by part_no

如果你想通过很多行更快地知道它,你可以运行这个

select max(appearances)
from ( select part_no, count(*) as appearances
       from inventory
       group by part_no )

如果max为1你就可以了。如果没有,请添加到group byselect另一个列并执行相同操作。然后,您可以确定collumn / s是您的主键。使用alter table或某些GUI,您可以更改它。