当前位置: 首页 > 知识库问答 >
问题:

DB2创建表失败

云开诚
2023-03-14

我在我们的测试Databse上用Liqibase创建了一个表,我们没有问题创建下表:

CREATE TABLE ICEM_DEP.T_APP_UNIT_ENV_INST_OBJ (
  ENVIRONMENT_ID INTEGER NOT NULL, 
  INSTANCE_ID INTEGER NOT NULL, 
  OBJECT_NAME VARCHAR(4000) NOT NULL, 
  APP_UNIT_ID INTEGER NOT NULL, 
  CREATION_DATE TIMESTAMP DEFAULT current timestamp(0), 
  LAST_CHANGE_DATE TIMESTAMP DEFAULT current timestamp(0), 
  CREATION_USER INTEGER NOT NULL,
  LAST_CHANGE_USER INTEGER NOT NULL, 
  ACTION_FLAG VARCHAR(1)
)

如果我在客户数据库上运行此语句,则错误如下:

DB2 SQL 错误: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=(;LT 当前时间戳;DEFAULT, DRIVER=4.13.127

有什么建议吗?

共有2个答案

鲍永春
2023-03-14

将尽可能低的值传递给时间戳函数的格式为

任何一个

TIMESTAMP('0001-01-01',0)

TIMESTAMP('0001-01-01-00.00.00.00000')
郑声
2023-03-14

你试过了吗

CREATION_DATE TIMESTAMP WITH DEFAULT CURRENT TIMESTAMP,
LAST_CHANGE_DATE TIMESTAMP WITH DEFAULT CURRENT TIMESTAMP,
 类似资料:
  • 主要内容:创建表选项有助于在DB2数据库中创建许多对象,即创建表,创建视图,创建索引,创建序列,创建过程,创建函数,创建触发器等。 创建表 下面来看看如何使用RazorSQL创建表: 指定表名和列数,如下图所示: 现在输入列名以及数据类型,并生成SQL。 现在单击执行SQL,它将创建一个名称为“Students”的表,将看到成功创建表的弹出消息。 在模式下的表树形菜单下应该能看到新创建的表“Students”。

  • 我试图在我的DB2V10.5中创建DB2 MQT表,但是我得到了以下错误消息: 在“begin-of-statement”后面发现意外的令牌“CREATE TABLE T_MQT AS(SELECT ID,COL1,C”。预期的令牌可能包括:“”...SQLCODE=-104,SQLSTATE=42601,DRIVER=4.16.53 SQL代码:-104,SQL状态:42601 下面是我的cre

  • 我正在使用一个H2数据库来测试我的Grails应用程序。我有一些简单的领域类,比如: 但是,表似乎没有正确创建。 它设置为在模式下使用临时内存中的H2数据库。

  • 用于为表创建索引。 索引是一组指针,它指的是MDC或ITC表中的表块中的行,XML存储对象中的XML数据,这些XML数据在逻辑上按一个或多个键的值排序。 索引用于提高查询数据的速度以及有效地对数据进行聚类和分区。 索引可以增强视图操作的性能。具有唯一索引的表可以包含具有唯一键的行。 可以根据表要求创建不同类型的索引。 索引类型 唯一和非唯一索引 群集和非群集索引 单击create index,它将

  • 如果要为数据库服务器创建新的缓冲池,只需要两个名称为和的参数。 使用以下查询创建新的缓冲池: 语法: 这里,指定缓冲池的名称,指定页面的大小。需要声明缓冲池值(,,,) 示例: 创建一个名称为的新缓冲池,其中为。

  • 主要内容:创建非限制性数据库,创建限制性数据库命令用于在实例中创建数据库。所有数据库都是使用默认存储组创建的,该存储组是在创建实例时创建的。 在DB2中,所有数据库表都存储在中,后者使用各自的存储组。 创建非限制性数据库 命令用于创建非限制性数据库。 语法: 示例 假设要创建一个名称为“XYZ”的数据库 安装后,切换到用户才有权创建新数据库。根据安装的版本,可能会更改该用户名。 但DB2默认使用作为管理员用户。 查看目录,将看到一个新用户(最