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

时间:2014-12-06 15:04:33

标签: java mysql uuid

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

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

token是之前生成的UUID值,并保存在mysql表格中。

但是当我运行我的程序时,我收到一条错误EmptyResultDataAccessException。我想我得到了这个错误,因为UUID标记值与生成和插入数据库时​​的格式不同。现在它的形式不同了。

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

我的问题是

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

1 个答案:

答案 0 :(得分:2)

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