java - UUID值如何保存在mysql数据库中

标签 java mysql uuid

我将 UUID token 保存在 mysql 数据库表中。在我的 java 程序的下一部分中,我需要执行这样的查询

String sql = "SELECT expiray_time FROM recover_password WHERE token = '"+token+"'";

这个token是之前生成的UUID值,它保存在mysql表中。

但是当我运行程序时,我收到一条错误消息 EmptyResultDataAccessException。我认为我收到此错误是因为 UUID token 值的形式与生成和插入数据库时​​的形式不同。现在它的形式不同了。

我已将 UUID 作为 text 类型值保存在数据库中。

我的问题是

  1. UUID值以text类型保存到数据库中是否正确?
  2. 如何将生成的 token 值与数据库中的 token 值进行比较?
  3. 插入数据库时​​,UUID 值是否会被散列或加密为不同的格式? 谢谢!

最佳答案

  1. 如果您的 UUID 不超过 255 个字符,那么最好使用 VARCHAR。
  2. 使用 MySQL 的 STRCMP() 函数进行字符串比较。 http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#function_strcmp

关于java - UUID值如何保存在mysql数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27333003/

相关文章:

java - 使用 Java 代码中的不同引号执行 Bash 单行代码以进行 Elasticsearch 查询

java - monitor对象在synchronized block 中有什么作用?

Java(Kotlin) 套接字服务器。连续阅读

c# - 将 Putty 登录凭据转换为 C# MySqlConnection 连接字符串

mongodb - Spring Data Entity UUID 在 MongoDB 中存储为旧版 UUID

java - java中有抽象变量吗?

mysql - DataGrip 中的更新 SQL 无效

mysql - 查询特定日期时间的数据库(没有秒或毫秒)

linux - UUID 和磁盘镜像之间有什么关系?

ios - 如何比较两个ID