sinat_32640405
2015-11-29 09:00
采纳率: 100%
浏览 6.8k

mysql为什么不设主键就不能输入数据

不知道怎么搞得,创建数据表的时候如果不设置主键的话这个表就会变成read only,不能输入数据,加上主键之后才能输入。这个是权限没弄对的问题吗?怎么改成不设置主键也可以输入数据?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • blownewbee 2015-11-29 09:52
    已采纳

    不设置主键没法修改数据。原因是如果两条数据在数据库中所有字段的值一样。你修改其中一条,怎么知道你修改的是哪一条还是两条都修改呢?
    虽然数据库允许没有主键的表,但是任何情况,定义任何表,都必须有主键。

    点赞 评论
  • 紫气天堂 2015-11-29 12:42

    这个 应该是数据库规定的必须有主键之后才能操作数据

    点赞 评论
  • 水的只能学 2015-11-29 13:39

    这个是关系型数据库规定的吧

    点赞 评论
  • 晓呆同学 2015-11-29 14:30

    MySQL中表示可以没有主键的,没有主键也是可以正常使用的。
    你这个情况可以检查一下数据库的安全设置。

    点赞 评论
  • bytejava 2017-05-08 15:39

    设置主键是一种规范,可以不设置主键,mysql innodb会自动选择第一个非空unique索引作为主键,如果没有则生成一个隐藏的主键列。主键索引作为聚簇索引,叶子节点保存了行数据,使用主键索引查询更加快速。

    点赞 评论
  • 半路凉亭 2017-05-10 06:36

    因为数据库的主键不能为空

    点赞 评论
  • Miu_OZ 2017-05-11 07:28

    数据库怕被人玩坏,所以设置主键整理数据

    点赞 评论
  • 傲莉傲 2017-05-19 03:29

    你用的是工具输入的数据吧?工具不允许在没主键的情况下输入数据,你可以在MySQL 的命令行下输入

    点赞 评论
  • Crazy_bananas 2017-07-07 10:12

    主键是一条数据的唯一标识,不给主键就好像你只知道你要查找的对方是个人,但没有名字,你怎么确认那个人是谁呢

    点赞 评论

相关推荐 更多相似问题