课程
/数据库
/MySQL
/与MySQL的零距离接触
为什么老师创建的tb1不需要声明主键就可以创建,而tb4就不行呢?谢谢
2016-12-01
源自:与MySQL的零距离接触 2-6
正在回答
主键是约束条件,创建表时,可加可不加
遥远4363154 提问者
创建后一个表的UNSIGNED打错了!
我去,主键这个问题不要理解复杂,他就是一个约束条件,tb1和tb4创建完全一致,只是添加乐字段属性的约束条件,这不是影响对与错的因素,影响对与错是unsigned 。
创建的tb4表,你看看有没有加自动编号的约束,若加了自动编号的约束,那么AUTO_INCREMENT必须与主键一起使用,但主键不一定与AUTO_INCREMENT一起使用哦
主键的作用:
1)保证实体的完整性;
2)加快数据库的操作速度
3)在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。
4) 数据库自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
主键不是非要不可,可以从:
1.是否满足业务要求
2.数据查询效率(主键可以提高查询效率,当然合理的索引替代也可以)
这两个角度权衡是否需要主键。
举报
本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识