草庐IT

主键自增

全部标签

php - 缺少主键 id 的值 Doctrine Symfony2

我正在研究symphony2.8.2学说中两个实体之间的连接。我不断收到“主键ID缺失值”这是缺少ID的ID注释。/***@ORM\Id*@ORM\Column(type="integer")*@ORM\GeneratedValue(strategy="AUTO")*/protected$id;这是我的连接:/***@ORM\OneToOne(targetEntity="FYP\BaseDesignBundle\Entity\SessionDesign",inversedBy="user")*@ORM\JoinColumn(name="fcid",referencedColumnNam

MySQL查询慢查询主键上的表

所以我有一个基本上像NoSQL设置一样使用的表。结构是:idbigint主键数据介质block修改时间戳它有大约35万行。在其上运行的查询的结构如下:从表中选择id=XXX的数据;表引擎是InnoDB。我注意到有时针对此表运行的查询相当慢。有时他们需要3秒才能运行。该表在磁盘上有3GB,我给innodb_buffer_pool_size4G。这里有什么我遗漏的吗?是否有任何我可以调整以提高性能的设置?编辑:按要求解释输出:+----+-------------+----------+-------+---------------+---------+---------+-------+

mysql - 主键位置

主键是否必须是数据库表中的第一个字段?如果我把id放在名字后面,查询会变慢吗?CREATETABLEusers(nameTEXTNOTNULL,idINTEGERNOTNULLPRIMARYKEYAUTO_INCREMENT,siteINTEGERNOTNULL,...)ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_unicode_ci; 最佳答案 使用/放置主键作为数据库中的第一个字段是一般惯例,但是如果您将第二个字段(id)定义为主键并不重要,它不会使查询变慢

mysql - 是否有推荐的 Mysql 主键大小

我的'projects'表中的每个条目都有一个唯一的32个字符的哈希标识符,该标识符使用varchar(32)存储。将其用作primarykey会被认为是一种不好的做法吗?是否有推荐的主键大小和数据类型? 最佳答案 我会说是的,将这么大的列用作主键是个坏主意。原因是您在该表上创建的每个索引都将包含32个字符的列,这将使所有索引的大小膨胀。更大的索引意味着更多的磁盘空间、内存和I/O。如果可能,最好使用自动递增的整数键,并在您的哈希标识符列上简单地创建一个唯一索引。 关于mysql-是否有

mysql - 获取我刚刚用 Spring 插入的主键

我在MySQL的表中插入一行。这是代码:publicfinalStringSQLADDPROJECT="insertintotable(value1,value2,value3)values(?,?,?)";getJdbcTemplate().update(SQLADDPROJECT,newObject[]{model.getValue1,model.getValue2(),model.getValue3()});此插入语句工作正常,模型不为空。该表有一个自动增量的主键,我想获取该键,以便稍后在代码中使用它。我做了一些搜索,并使用了keyHolder,这样:KeyHolderkeyHo

mysql - 外键可以引用自己表的主键吗?

我正在为工作创建一个MySQL员工数据库,我希望它存储员工的主管。假设我有一个名为“employee”的表,其中包含字段“id”、“first_name”、“last_name”和“supv_id”,其中“id”是主键,“supv_id”是指外键和员工ID。目前,我将“supv_id”作为指向单独表“supervisor”的外键。该表仅由指向员工表的“id”和“empl_id”组成。但是,如果有一种方法可以简单地使“employee”中的“supv_id”指向“employee.id”,这将完全消除我的“supervisor”表的需要。这是一个例子:+----+--------+---

MySQL自增ID突然跳到MAXINT,请问是什么原因?

我有一个包含大约2,000,000个条目的mysql表,主键是自动递增的。然而,有一次自动增量值突然从原来的值(大约2,000,000)跳到最大整数值(2,147,483,647)。不用说,所有后续插入到该表中的操作都失败了。当我注意到它时,我将主键类型从int更改为bigint,所以它现在工作正常。所以我的问题是,为什么会发生这种情况?我是否可以采取任何预防措施来避免将来发生这种情况? 最佳答案 插入失败仍然会导致自增列增加。如果您的程序进入无限失败循环,可能会导致达到限制。也可以通过编程方式将自动增量设置为特定值。ALTERTA

mysql - 如何为同一数据库中的所有表设置唯一的主键

如何给数据库的所有表设置一个唯一的主键?例如,我不想重复不同表的任何主键。tableA:----------id|name----------1|aaa3|bbb5|ccctableB:-------------id|surname-------------7|ddd2|eee9|ffftableC:-------------id|nickname-------------4|ggg6|hhh8|iii所有id都是primarykey和auto_increment。所有数据都是动态输入的。我在PHPMYADMIN中使用MYSQL。 最佳答案

mysql - 如何使三列成为我的主键

我正在尝试学习如何将两个文件匹配在一起。但我现在已经尝试了5个小时的一切......但仍然不知道该怎么做。第一个文件(600.000行)包含4列:Postal,Number,Houseletter,livingspace第二个文件(7.000行)包含4列:Postal,Number,Houseletter,Furniturevalue在我的第一个文件中,我有一个大区域的所有生活空间,在我的第二个文件中,我有那个大区域中几个地址的家具值。我想将文件1中的生活空间添加到我的第二个文件中的地址。所以我将文件导入数据库。Tablefirstfile->SpaceTablesecondfile-

mysql - 将级联与复合主键结合使用

我的问题是我可以将级联与复合主键一起使用吗?我有一个表FbUser和一个表FbFriends。FbFriends表有UID和FID作为复合主键,在其他表中它表示为外键(UID,FID)如果我声明deletefromFbFriendswhereUID="10"andFID="2"CASCADE,是否也会删除子行? 最佳答案 ONDELETECASCADE是外键的一个属性。它不是您添加到DELETE语句中的子句。如果外键定义为删除父行时删除子行,则无论外键定义在单列还是多列上,删除都会级联。不过,就我个人而言,我不是级联删除或任何其他发