【mysql – Spring Data JPA; save()自动增加主键错误】教程文章相关的互联网学习教程文章

mysql – 为什么INNODB批量插入导致自动增量主键跳过值?【代码】

我很熟悉InnoDB中插入失败导致自动递增主键的间隙,我相信这是无关的(这对我来说并不明显).我遇到的问题是我会将5条记录插入到一??个带有自动递增主键的表中,这会导致主键有5到8的间隙.这是一个重复问题的脚本.DROP TABLE IF EXISTS `test_table`; CREATE TABLE `test_table` ( `A` int(10) unsigned NOT NULL AUTO_INCREMENT, `B` int(10) unsigned NOT NULL, PRIMARY KEY (`A`) ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET...

MYSQL 5.5删除主键【代码】

我正在将quartz.net版本从1.0.3升级到2.0.2有一个用于数据库模式的迁移脚本,它是为MSSQL编写的,我正在尝试编写它的MYSQL版本. 但是,我无法删除主键(我需要). 原始MSSQL版脚本:ALTER TABLE BLOB_TRIGGERS DROP CONSTRAINT BLOB_TRIGGERS_PKEY; ALTER TABLE BLOB_TRIGGERS DROP CONSTRAINT BLOB_TRIGGERS_TRIGGER_NAME_FKEY; ALTER TABLE SIMPLE_TRIGGERS DROP CONSTRAINT PK_SIMPLE_TRIGGERS; ALTER TABLE SIMPLE_TRIGGERS DROP CO...

php – 按日期或主键排序的MYSQL?

我有一个表,其中包含自动增量主键列和日期时间列.我想返回按创建日期排序的行. 如果我按日期或主键订购,这有关系吗?我想,与00:00:00或时间戳的日期格式相反,主键更快.新记录将具有更大的主键.然而每个人都按日期字段排序.解决方法:按日期字段排序,但请确保在日期字段上添加索引. 日期字段是二进制字段,它与主键一样快. (日期是3个字节,而不是整数主键,它是4.)它不会使用字符串来按照您的假设进行排序. 更重要的是,它表明了你的意图...

mysql – 无论列名如何,都选择主键?【代码】

我只是想知道是否有办法在WHERE子句中使用主键选择行而不必知道键列的名称. 我建议的PHP函数如下:function getData($table,$key,$asarray=false) {$sql = mysql_query("select * from `".$table."` where primary='".$key."'");if( !$asarray) return mysql_fetch_assoc($sql);$ret = [];while($row = mysql_fetch_assoc($sql)) $ret[] = $row;return $ret; }几点说明: > $table只来自代码中的文字字符串,绝不是来自外部来源.>出...

修改mysql表中的主键列时出错【代码】

我是SQL和MySQL的新手.我试图修改表中的主键列,以便它自动递增.此主键也是另一个表中的外键.由于与另一个表中的外键相关的错误,我无法修改此列.这是错误:mysql> desc favourite_food; +-----------+----------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+----------------------+------+-----+---------+-------+ | person_id | smallint(5...

python – 在什么时候抛出MySQL主键错误?【代码】

如果我有一个批量插入语句,如:INSERT INTO TABLE VALUES (x,y,z),(x2,y2,z2),(x3,y3,z3);并且x2违反了主键,是在处理x3之前或之后抛出的错误? 具体来说,我在使用Python和PyMySQL的try-catch块中有一堆批量插入,如:conn = myDB.cursor() try:conn.execute("INSERT INTO TABLE VALUES (x,y,z),(x2,y2,z2),(x3,y3,z3);") except pymysql.Error as msg:print("MYSQL ERROR!:{0}".format(msg)) #print error我想确保如果批处理插入中...

重新排列mysql中的主键【代码】

从MySQL中的表中删除一些行后,如何重新排列主键列值? 敌人的例子;一个包含4行数据的表,主键值为1,2,3,4.删除第2行和第3行时,第4行的键值变为2. 请帮我找到解决方案.解决方法:为什么这样?您不需要重新排列密钥,因为它是唯一的编号,用于记录的标识符.它没有实际意义 – 所以让DBMS处理它.这是一个非常常见的错误 – 试图承担DBMS角色. 但是,我会回答你的常见问题.在MySQL中,您可以重新排列列:update t cross join (select @cur:=0...

mysql – phpMyAdmin主键指示器在文本上显示灰色

在phpMyAdmin中,很难看到哪个列被分配了PK.如果基于图标的颜色,它没有意义,因为我假设具有数据类型文本的列具有灰色图标.解决方法:在PhpMyadmin主键中通过列名称下划线标识. 在您的情况下,您在task_id中有下划线. 其他灰色表示,您不能将主键分配给该列.

mysql – Rails ActiveRecord处理不是主键的id列【代码】

使用ActiveRecord自动分配:id属性作为主键,即使它是一个单独的列.Table - legacy-tableid - intpk_id - int (primary key)name - varchar2info - varchar2模型class LegacyModel < ActiveRecord::Baseself.table_name = 'legacy-table'self.primary_key = 'pk_id'default_scope {order(:name => :asc)}alias_attribute :other_id, :idend我并不关心ActiveRecord是否自动将主键(pk_id)分配给:id属性,但是我失去了对实际id列的所有...

mysql – Spring Data JPA; save()自动增加主键错误【代码】

我有一个USER表,其中UserId为主键,在MySQL中为int并自动递增.@Id @GeneratedValue @Column(name="USER_ID") private Integer userId;当我运行userRepository.save(user)时;我收到一个错误说:org.springframework.beans.InvalidPropertyException:bean类的无效属性’userId[com.mysite.model.User]:属性’userId’的getter抛出异常;嵌套异常是java.lang.reflect.InvocationTargetException 如果我只是硬编码用户ID我没有得到这个...

MySQL主键查询扫描5000x太多行【代码】

我正在尝试使用基于PRIMARY KEY的WHERE语句运行简单的SELECT查询.我在具有32个内核和30 GB RAM的GCE实例上运行MySQL 5.7.9. 500个分区中有大约300M的记录. 99.9999%的查询来自过去2天,并且该数据完全适合内存,经过验证后我看到从磁盘读取了~0个字节.我的CPU始终固定为100%,同时运行10-20个类似的查询. 我正在跟踪一些Google搜索数据,因此Requested,IsPriority和KeywordID的每个组合有100个排名.尽管我的主要索引是设计的,因此不需...

mysql – 使用主键偶尔缓慢更新【代码】

我在MySQL 5.5.53中有一个InnoDB表,其中有简单的更新UPDATE mytable SET acol = 'value' WHERE id = 42;挂几秒钟. id是表的主键. 如果我使用启用查询分析SET profiling = 1;然后运行查询并查看配置文件,我看到类似的东西:show profile; +------------------------------+----------+ | Status | Duration | +------------------------------+----------+ | starting | 0.000077 | | ch...

mysql – 如何在不指定非自动增量主键的值的情况下插入数据?【代码】

我有这张桌子:CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (P_Id) )1. insert into persons values (1, 'John', 'Smith', 'LA', 'LA'); 2. insert into persons (p_id, lastname, firstname, address, city) values (2, 'John', 'Smith', 'LV', 'LV');如何在不指定主键值的情况下将数据插入表中(主键没有“auto_...

mysql – Binary vs Integer – 作为主键?

我想知道是否有任何明显的利弊应该注意,同时选择使用二进制类型作为主键,同时进行随机化. 这意味着,新的插入将具有随机的4个字节作为其PK – 而不是具有Integer类型的序列? 我正在使用MySQL / MyISAM. 谢谢,Doori酒吧解决方法:如果主键不是顺序的,那么聚簇索引的插入性能将不会很好.它必须重新排列几乎每个插入的索引.

php – 重新索引MySQL INT主键并重置AUTO_INCREMENT【代码】

所以我有一个MySQL数据库,我正在使用PHP网站.在几周的发展过程中,我留下了类似的东西:Table: usersid | name -----------12| Bob34| Jen155| John154| Kyle除此之外,还有数百条记录,而且数以千计. 我正在寻找一个脚本,我可以运行将键重命名为最低值(保留各自的行),然后将AUTO_INCREMENT重置为下一个id 期望的输出是:Table: usersid | name -----------1| Bob2| Jen3| Kyle4| John和ALTER TABLE用户AUTO_INCREMENT = 5; (注意凯...