gpt4 book ai didi

java - 将 uuid(UUID 类型)插入 mysql 时报告键 PRIMARY 的重复条目

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:29 25 4
gpt4 key购买 nike

代码中,通过UUID post_uuid = uuidGenerator.generate()生成一个UUID,然后插入到mysql中。

   Connection conn = sql2o.beginTransaction();
UUID postUuid = uuidGenerator.generate();

conn.createQuery("insert into posts(post_uuid, title, content, publishing_date) values (:post_uuid, :title, :content, :date)")
.addParameter("post_uuid", postUuid.toString())
.addParameter("title", title)
.addParameter("content", content)
.addParameter("date", new Date())
.executeUpdate();

categories.forEach(category ->
conn.createQuery("insert into posts_categories(post_uuid, category) VALUES (:post_uuid, :category)")
.addParameter("post_uuid", postUuid.toString())
.addParameter("category", category)
.executeUpdate());

conn.commit();
return postUuid;

RandomUuidGenerator 类

     public class RandomUuidGenerator implements UuidGenerator{

@Override
public UUID generate() {
// TODO Auto-generated method stub
return UUID.randomUUID();
}

}

在mysql中,post_uuid字段为CHAR(36)

enter image description here

运行代码报错

enter image description here

错误指向第二次插入sql addParameter("category", category).executeUpdate())

最佳答案

it said that in table posts_categories it has the duplicate entry for key PRIMARY

不要让post_uuid成为posts_categories的主键。
对于集合 categories 中的每个元素,您使用相同的 postUuid 运行 INSERT 语句。

关于java - 将 uuid(UUID 类型)插入 mysql 时报告键 PRIMARY 的重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34734549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com