关于navicat中mysql主键

来源:1-1 课程说明

qq_yy_13

2017-03-23

今天看到有个表没有主键navicat报提示然后,我想起老师的视频以前不是说过主键没有的话会自动找唯一主键当主键的,

都没有的话会自动生成一个主键,那为什么还会报提示呢?然后我就添加呗alter table table_test add primary key(id)

他又说我有主键了某某行Duplicate entry '5' for key 'PRIMARY',然后我就删除主键呗alter table table_test drop primary key,又说没有主键存在啊报错误提示,求解最后我是重建表了加上主键,还有的就是这张表只有一个普通索引,innodb引擎

写回答

1回答

sqlercn

2017-03-23

这个提示应该是navicat的功能,navicat只会判断是否有primary key 而不会判断是否有唯一索引或是innodb内部产生的主键的。Duplicate entry '5' for key 'PRIMARY' 这个报错是说你选择做为主键的那一列,数据有重复,主键要求,数据是非空且唯一的。

0
1
qq_yy_13
每次提问老师都是及时回答非常感谢
2017-03-23
共1条回复

高性能可扩展MySQL数据库设计及架构优化 电商项目

从基础设计入手,设计高性能可扩展的千万级数据库架构

1155 学习 · 166 问题

查看课程