HSQLDB - 为啥我不能将默认值设置为 -1

Posted

技术标签:

【中文标题】HSQLDB - 为啥我不能将默认值设置为 -1【英文标题】:HSQLDB - Why can't I set the default value to -1HSQLDB - 为什么我不能将默认值设置为 -1 【发布时间】:2013-09-04 10:47:39 【问题描述】:

我正在使用 HSQLDB,当我将列的默认值设置为 -1 时,出现以下错误。

java.sql.SQLSyntaxErrorException: unexpected token: -

我用来创建默认值为 -1 的表的 SQL 语句如下所示:

  CREATE TABLE "BLAH" (
    "COL" INTEGER DEFAULT -1,
    ...
  ) ;

任何想法我做错了什么?这对 HSQLDB 来说是不可能的吗?我已经从 oracle db 中导出了 DDL 语句并对其进行了一些更改,以便所有数据类型都与 HSQLDB 兼容。因此该语句应该可以工作,只有默认值会造成麻烦。

【问题讨论】:

我什至尝试了零,例如“COL” INTEGER DEFAULT 0,但没有任何效果。谷歌搜索没有找到任何东西。 【参考方案1】:

当然,HSQLDB 支持这个。

您确定您的代码中有减号吗?您可能使用了不同的符号,看起来像减号。

【讨论】:

我会试试看,但由于我已经从 Oracle SQL Developer 导出了脚本,所以我很确定它是一个减号。 哈。这确实是问题所在。谢谢!

以上是关于HSQLDB - 为啥我不能将默认值设置为 -1的主要内容,如果未能解决你的问题,请参考以下文章

为啥我允许位置权限后不能设置状态值(如果我允许位置权限,默认值为当前位置)?

将字符串值设置为标量变量 HSQLDB

为啥我的用户默认值 bool 未在应用程序首次启动时设置?

如何使用 UUID 作为 HSQLDB 列的默认值

为啥 DoubleBuffered 默认禁用?

golang函数中的参数为啥不支持默认值