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

mysql – 使用带有复合主键的级联

我的问题是我可以使用带有复合主键的级联吗?我有一个表FbUser和一个表FbFriends. FbFriends表具有UID和FID作为复合主键,在其他表中它表示为外键(UID,FID)如果我从FbFriends中删除UID =“10”和FID =“2”CASCADE的语句,是否也会删除子行?解决方法:ON DELETE CASCADE是外键的属性.它不是您添加到DELETE语句的子句.如果定义外键在删除父项时删除子行,则无论外键是在单个列上还是在多个列上定义,删除都将级联. 但就个人而言,我并不是...

mysql – 使用主键分块从大表中删除时仍然看到锁等待超时【代码】

我有一个分布式应用程序,可以将数百万条记录记录到MySQL.有时它是一天一百万或一周,具体取决于用户. 我最近重写了一个“清除”系统,可以自动删除过时的记录.它每12小时运行一次,并根据用户设置的规则清除数据.由于数据库平均可以包含5000万条记录,因此我将查询设计为使用primary key chunking. 每个删除查询仅按主键扫描有限数量的行.根据我的理解,这减少了“包含”其他条件所需的锁的数量.然后,下一个删除查询将在几秒钟后运行. 但...

mysql – 将非顺序id作为数据库中表的主键是否可以?【代码】

我不太了解数据库找到正确的词来提出这个问题,所以让我举一个例子来解释我正在尝试做的事情:假设我希望表的主键是我从中获取的ID API,但大多数API请求都会导致404错误.结果,我的表??格看起来像这样: 我也不知道如何在Stack Overflow上格式化类似于表的结构,所以这将是一个粗略的视觉:API_ID_PK | name ------------------ 1 | Billy 5 | Timmy 23 | Richard 54 | Jobert 104 | Broccoli是否...

MySQL – 什么是正确的主键方法

我开始使用MySQL开发应用程序,虽然我在使用数据库之前已经开发了应用程序,但我通常会使用递增id方法.有一天,我正在某个地方阅读一个帖子,看到有人因为没有正确地“正常化数据库”而被分开.我不是一个大数据库人,但我想确保我做对了. 任何想法,帮助/指导?解决方法:选择primary key有两种主要方法: >从现有的natural candidate keys中选择主键.>创建surrogate key,并将其设置为主键.与自然键不同,代理键不是从应用程序数据派生的.这...

mysql – 用二进制主键编辑行数据是不可能的?【代码】

我正在使用二进制uuids作为密钥.有没有办法用Mysql Workbench为这种模式编辑表数据?我最终得到:UPDATE `db`.`table` SET `foo`='bar' WHERE `uuid`=?;这显然会返回错误:ERROR 0: Value not set for all parameters我没有其他方法可以引用我想编辑的行. PhpMyAdmin也破坏了所有二进制数据. 编辑 – 澄清一下,实际密钥的数据类型是BINARY(16) 编辑2 – 为了澄清更多,这个问题具体是关于MySQL Workbench.我理解准备好的陈述. 编辑...

mysql – 如何使用JPA / Hibernate设置复合主键的列顺序【代码】

我在复合主键中对列的排序有问题.我有一个包含以下内容的表:@Embeddable public class MessageInfo implements Serializable {private byte loc;private long epochtime;@Column(name = "loc")public byte getLoc() {return loc;} @Column(name = "epochtime")public long getEpochtime() {return epochtime;} }它用于此映射:@MappedSuperclass @Inheritance(strategy = InheritanceType.SINGLE_TABLE) public abstract class...

mysql – 2个表上的主键【代码】

我有两张桌子,一张是“主人”,另一张是“儿童”牌桌.每个表都有一个名为“ProductNo”的字段,该字段定义为PRIMARY KEY和UNIQUE.是否可以在表’child’中定义字段’ProductNo’,并将表’master’中的相同字段定义为PRIMARY UNIQUE?master: ID | ProductNochild: ID | MasterID (FK on master.ID) | ProductNoRelation >> 1 (master) : n (child) example data: master: 1 | 1234 2 | 4567child: 100 | 1 | 3333 101 | 1 | 4444 10...

mysql – 从所有表中具有相同主键的多个表中获取数据【代码】

我有4个表都具有相同的主键,结构如下:table_1 : u_id | col1 | col2 table_2 : u_id | col3 | col4 table_3 : u_id | col5 | col6 table_4 : u_id | col7 | col8我想根据u_id的值获取“col1”,“col4”,“col6”和“col7”的数据. u_id的值在每个表中都相同. 例如.如果u_id =’8′,则获取u_id =’8’的所有指定列值. 我猜,我没有正确使用连接. 谢谢.解决方法:这应该是非常直接的.使用INNER JOINSELECT a.col1, b.col4...

mysql – 在主键上调用SELECT *而在SQL中调用属性【代码】

我目前正在参加决赛,并对其中一个练习问题提出疑问. 问题是: 在关系R(A,B)上考虑以下两个SQL查询,其中属性A是主键. 查询1:SELECT * FROM R WHERE B> 50或B <= 50查询2:SELECT * FROM R WHERE A> 50或A< = 50哪个是对的?一个.查询1和2返回R中的所有记录湾查询2返回R中的所有记录,但查询1可能不会官方回答说b是正确的,但我想知道原因.我知道主键必须是唯一的,这意味着查询2应该返回每条记录.但即使有重复的B值,查询1也不会返回每...

mysql的触发器生成自增长主键【图】

DELIMITER $ CREATE DEFINER=TestRoot@% PROCEDURE generate_orderNo(IN orderNamePre CHAR(4),OUT newOrderNo VARCHAR(13)) BEGIN DECLARE maxNo INT DEFAULT 0 ; – 定义该站点中当前订单号最大的号 后六位 DECLARE oldOrderNo VARCHAR (13) DEFAULT ‘’ ; – 定义该站点中的最近的一个物流单号 SELECT IFNULL(order_no, ‘’) INTO oldOrderNo – 取去当前站点的最近的订单号 FROM orders WHERE SUBSTRING(order_no,...

使用preparedStatement设置mysql主键字段时出错【代码】

这是我插入行的代码.列为:主要ID,名称和艺术家. 我是否正确传递了主要ID,因为它一直在给我一个错误?它被设置为1,并且每次添加行时它都会递增.try {//DatabaseString query = "INSERT INTO lyrics1(lyrics1_id, name, artist) values(?, ?, ?)";PreparedStatement statement = connection.prepareStatement(query);statement.setString(2, nameOfSong.getText()); // set input parameter 2statement.setString(3, artist.getText...

MySQL:多个主键和自动增量【代码】

我很擅长在MySQL中设置表格,我想做的事情比我能做的更先进. 我有两列作为复合主键的一部分,一个是Date和ID我想成为一个自动增量整数.对于每个日期,我想将自动整数重置为0,所以像这样:|-----------------| |Date | ID | |-----------------| |2012-06-18 | 1 | |2012-06-18 | 2 | |2012-06-18 | 3 | |2012-06-19 | 1 | |2012-06-19 | 2 | |2012-06-20 | 1 | |-----------------|谢谢解决方法:您可以创建一个bef...

mysql – 为什么主键不能包含空值?【代码】

我已经读过mysql在主键上放置了一个非null的约束,但是唯一键允许列的一个空值.那么为什么主键也不允许空值?解决方法:PRIMARY KEY列等效于UNIQUE和NOT NULL,默认情况下是索引列.它应该是UNIQUE,因为主键标识表中的行,因此2个不同的行不应具有相同的键.另外,主键可以在其他表中使用FOREIGN KEY,这就是为什么它不能为NULL,以便另一个表可以在引用的表中查找行. 例如:CREATE person{ id INT PRIMARY KEY, -- equals UNIQUE NOT NU...

mysql – 对于UUID主键,使用字符串类型与uuid类型的性能影响是什么?

通过使用字符串作为主键与实际的uuid类型,索引查找有多大的速度差异,特别是如果字符串具有类似user-94a942de-05d3-481c-9e0c-da319eb69206的前缀(使查找必须遍历5)在获得独特的东西前-6个字符)?解决方法:这是一种微观优化,在你达到巨大的规模之前不太可能导致真正的性能问题.使用最适合您设计的钥匙.那就是说,这里的细节…… UUID is a built in PostgreSQL type.它基本上是128位整数.它应该像任何其他大整数一样作为索引执行. Po...

mysql – phpMyAdmin导出/导入导致重复的主键错误【代码】

我想用一个新的站点URL全局替换Wordpress MySQL数据库中我的站点url的所有实例.为此,我使用phpMyAdmin将数据库导出到.sql文件,然后在文本编辑器中进行全局替换,然后使用phpMyAdmin导入.sql文件. 在导入期间,我遇到主键错误的重复条目.试图调试这个,我导出文件,然后导入相同的文件,没有做任何更改,我仍然得到相同的错误. 我感谢任何帮助解决这个问题.-- -- Dumping data for table `wp_comments` -- INSERT INTO `wp_comments` (`c...