Java 当将uuid(类型uuid)插入mysql报表时,密钥主目录的重复条目
在代码中,通过Java 当将uuid(类型uuid)插入mysql报表时,密钥主目录的重复条目,java,mysql,uuid,Java,Mysql,Uuid,在代码中,通过UUID post\u 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
UUID post\u 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;
随机生成类
public class RandomUuidGenerator implements UuidGenerator{
@Override
public UUID generate() {
// TODO Auto-generated method stub
return UUID.randomUUID();
}
}
在mysql中,post_uid
字段是CHAR(36)
当我运行代码时,它会报告一个错误
错误指向第二个insert sql
addParameter(“category”,category)。executeUpdate())
尝试使用它的字符串值
.addParameter("post_uuid", postUuid.toString ())
尝试使用它的字符串值
.addParameter("post_uuid", postUuid.toString ())
它说,在表posts_类别中,它有一个重复的主关键字条目
不要将post\u uuid
作为posts\u类别的主键
对于集合中的每个元素,
categories
使用相同的postuid
运行INSERT语句,它表示在表posts\u categories中,它有键PRIMARY的重复条目
不要将post\u uuid
作为posts\u类别的主键
对于集合中的每个元素
categories
使用相同的postuid
运行INSERT语句,它应该post_uid.toString()
传输到字符串?您是如何生成uuid的?还有,为什么要使用UUID而不是整数?我只是在上面发布了RandomUuidGenerator。这是SparkJava的教程,我在MySql使用Postgresqlit时更改了DB。它应该post_uuid.toString()
transfer to string?您是如何生成uuid的?还有,为什么要使用UUID而不是整数?我只是在上面发布了RandomUuidGenerator。这是SparkJava的教程,我在使用PostgreSql时从MySql更改了DB,但新的问题是executeUpdate中的错误,重复输入'dd5f5e44-c549-4bb9-b1a4-009bca084028'
键'PRIMARY'
uuidGenerator从哪里来?uuidGenerator是类uuidGenerator的一个实例它来自什么库?我自己刚写的。这是返回UUID.randomuid()
我已经尝试过了,但是一个新问题是executeUpdate中的错误,重复条目'dd5f5e44-c549-4bb9-b1a4-009bca084028'
键的uuidGenerator来自哪里?uuidGenerator是类uuidGenerator的一个实例,它来自什么库?这是我自己写的。它是返回UUID.randomUUID()