在HSQLDB中选择UUID()

时间:2018-03-26 14:48:49

标签: mysql database hsqldb uuid

有谁知道如何通过HSQLDB检索UUID。

例如,当我尝试

SELECT UUID();

通过MYSQL它工作正常。但是同样的声明不适用于HSQLDB。 以下方法实现了相应的目的

VALUES (UUID())

CALL(UUID())

SELECT UUID() FROM (VALUES(0)) t;

对于mysql和hsqldb,有没有相同的方法? HSQL doc说UUID已被激活。 http://hsqldb.org/doc/guide/builtinfunctions-chapt.html

感谢。

2 个答案:

答案 0 :(得分:2)

打开HSQLDB中的MySQL兼容模式,它将允许您的SELECT语句:

http://hsqldb.org/doc/2.0/guide/compatibility-chapt.html#coc_compatibility_mysql

答案 1 :(得分:1)

  

对于mysql和hsqldb,有没有相同的方法?

只有我能想到的方式。
在HSQLDB中创建表DUAL

CREATE TABLE DUAL (
  id INT
);

所以你可以使用

SELECT UUID() FROM DUAL LIMIT 1;

然后查询在MySQL和HSQLDB中的工作方式应该相同。
MySQL中的DUAL是一个不存在的虚拟表。