简体   繁体   English

将UUID存储在mysql数据库表中

[英]storing UUID in mysql database table

I am facing a peculiar problem while storing UUID to mysql table. 将UUID存储到mysql表时,我遇到了一个特殊的问题。 I have a table with a column declaration : 我有一个包含列声明的表:

    expenseUUID varchar(32) primary key ,

in this column I wish to save UUID. 在本专栏中,我希望保存UUID。 I have generated UUID as follows: 我生成的UUID如下:

  String expenseUUID = UUID.randomUUID().toString();
  expenseUUID.replaceAll("-", "");

But when I try to insert expenseUUID using JDBC , I get an error saying : 但是当我尝试使用JDBC插入expenseUUID时,我收到一条错误消息:

Data truncation: Data too long for column 'expenseUUID' 

What should I do resolve this issue? 我该怎么办才能解决这个问题? I am stuck. 我被卡住了。 I am not able to figure out what is going wrong. 我无法弄清楚出了什么问题。

You just missed to reassign your replaceAll result to expenseUUID var. 您刚刚错过了将replaceAll结果重新分配给expenseUUID var。 Then your var still contains a 36 chars string. 然后你的var仍然包含36个字符串。

Current : 目前:

String expenseUUID = UUID.randomUUID().toString();
expenseUUID.replaceAll("-", "");
System.out.print(expenseUUID); // 9e73f8a4-dfde-438e-9eec-ac4e94817b6b

Corrected : 更正:

String expenseUUID = UUID.randomUUID().toString();
expenseUUID = expenseUUID.replaceAll("-", "");
System.out.print(expenseUUID); // 0757c2666e934e2eb303df68bb3c9761

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM