主键的作用:
1)保证实体的完整性;
2)加快数据库的操作速度
3)在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。
4) 数据库自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

主键不是非要不可,可以从:

1.是否满足业务要求

2.数据查询效率(主键可以提高查询效率,当然合理的索引替代也可以)

这两个角度权衡是否需要主键。

这要看表的功能. 利用来存储大量数据,并需要经常查询的,建立主键可以加快查询效率从而降低服务器的负担. 如无此需求,建立反而多耗用服务器资源. 

设置不设置主键主要看业务或者需求来说
如果你就是简单的对单表操作的话,实在没有必要。
对多张没有关联的表操作的话,不设置也没有什么影响
主键只是说对一种表和表关系的关联而已,还有就是在建主键的时候会自动添加个索引,某些情况下可以增加查询速度

原文出自:https://www.cnblogs.com/yangwujun/p/7132623.html

转载于:https://www.cnblogs.com/cfss/p/10529848.html

SQL 一个表中可不可以没有主键相关推荐

  1. 一个表对应另一个表中多个主键的查询方法(把一个表当成两个表用)

    表t_Record PID(主键)   SendUserID(发送人)   ReceiveUserID(接收人)    1              1                      2 ...

  2. sql一个表中两个字段合并求和

    sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total  from TABLE 转载于:https://www.cnblogs.com/lovewyc131 ...

  3. mysql 联结主键_联结表中的复合主键 - Sequelize

    使用Sequelize和MySQL数据库,我试图在联结表中实现复合主键组合,但遗憾的是没有结果 . 我有 table : 它们与许多人有很多关系 . 在联结表user_has_project中,我想要 ...

  4. 如何在sqlserver数据库表中建立复合主键

    主键是数据库表的一个重要属性,建立主键可以避免表中存在完全相同的记录,也就是说主键在一张表中的记录值是唯一的. 建立主键有两种方法:一种是在数据库提供的GUI环境中建立,另一种是通过SQL语句执行建立 ...

  5. phpmyadmin不允许一个表创建多个主键的解决办法

    在phpmyadmin中执行建表语句 CREATE TABLE `user3` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(2 ...

  6. 在一表中设置组合主键(两个字段组合成一个主键)

    首先一个表是不能有两个主键的.但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了.          我们可以先删除了原来的主键再 ...

  7. sql更新表的字段和主键

    /*不能在设计表中直接添加键的约束*/ /*添加主键时,如果主键可为空,则必须首先设置表的主键字段不为空*/ ALTER TABLE s_User2Subject alter column User2 ...

  8. SQL一个表中多个字段对应另一个表的同一字段

    譬如:我存的时候表有俩个仓库ID字段,但查询时需要拿仓库名字 select OutStoreID,InStoreID from a 这时可以用inner join  分别连接两个字段 例: selec ...

  9. SQL Server中的联合主键、聚集索引、非聚集索引、mysql 联合索引

    我们都知道在一个表中当需要2列以上才能确定记录的唯一性的时候,就需要用到联合主键,当建立联合主键以后,在查询数据的时候性能就会有很大的提升,不过并不是对联合主键的任何列单独查询的时候性能都会提升,但我 ...

最新文章

  1. Pycharm问题归纳
  2. 阿里云配置服务器报:bind: cannot assign requested address
  3. graphpad柱状图怎么加图例_如何用Graphpad prism添加多个图例
  4. 跟风 Python 的人,后来都怎样了?
  5. JAVA SE学习day_03:包装类、文件操作——file
  6. Spring Cloud Ribbon –进行安全呼叫
  7. Linux系统更新最新版R语言方法
  8. 关于Int自增字段和GUID字段的性能测试。只有测试,没有分析,呵呵
  9. 对360搜索引擎的评价
  10. 五脏六腑在脸上的反射区图片_“阳光运动场,亲子共成长”——赣县区白鹭乡中心幼儿园迎新年亲子趣味运动会...
  11. 前端进阶篇——02、CSS和JS
  12. 【计算机基础】防火墙
  13. php图书借阅管理系统前台,php图书馆图书借阅管理系统
  14. 华为防火墙ssl xxx配置
  15. sfp寄存器_查看光模块信息 - E600 V200R011C10 配置指南-设备管理 - 华为
  16. mysql启动黑屏_红警win10黑屏和不显示菜单栏问题 只有声音没有图像的解决
  17. 第三方支付牌照(支付业务许可证)
  18. 铁矿石怒砸跌停,棕榈油认沽最高45倍,钢厂利润大幅回升2022.6.20
  19. 日子大不了就是有粥喝粥,有菜吃菜
  20. 一个理解同步异步阻塞非阻塞非常好的解释

热门文章

  1. P1420 最长连号(python3实现)
  2. SMT32H743+CubeMX-配置MPU后,在Keil上的程序卡死
  3. 爬get接口_网络字体反爬之起点中文小说
  4. 前端笔记-echarts加载bmap地图
  5. Java工作笔记-对反射的进一步理解
  6. Java工作笔记-Spring Boot封装Jedis实例
  7. C++设计模式-采用装饰模式用户和管理员加载不同的模块(Qt框架实现)
  8. C/C++插入数据到Mysql数据库中
  9. php符号 set,PHP 符号大全
  10. nginx设置跨域问题