在Db2中为iSeries创建表

在Db2中为iSeries创建表,db2,db2-400,Db2,Db2 400,我在sql server中有这样的表结构: CREATE TABLE [dbo].[taname]( [ID] [char](7) NOT NULL, [SOURCE] [char](14) NOT NULL, [TARGET] [char](14) NOT NULL, [ID1] [char](100) NULL, ) 我试图在DB2中创建类似的表: CREATE TABLE schema.taname( ID char(7) NOT NULL, SOURCE char(

我在sql server中有这样的表结构:

    CREATE TABLE [dbo].[taname](
[ID] [char](7) NOT NULL,
[SOURCE] [char](14) NOT NULL,
[TARGET] [char](14) NOT NULL,
[ID1] [char](100) NULL,
)
我试图在DB2中创建类似的表:

      CREATE TABLE schema.taname(
ID char(7) NOT NULL,
SOURCE char(14) NOT NULL,
TARGET char(14) NOT NULL,
ID1 char(100) NULL --error is here
);
但是,我在“ID”中遇到错误:

不应为关键字NULL。有效令牌:对于不具有CCSID检查记录的唯一压缩的文件,为“否”。原因……:此处不应出现关键字NULL。在关键字NULL处检测到语法错误。有效令牌的部分列表为NO FOR NOT FILE,CCSID CHECK LOGGED UNIQUE COMPACT。此列表假定语句在意外关键字之前是正确的。错误可能出现在语句的前面,但到目前为止,语句的语法似乎仍然有效。恢复…:检查指定关键字区域中的SQL语句。可能缺少冒号或SQL分隔符。SQL要求保留字在用作名称时进行分隔。请更正SQL语句,然后重试该请求

处理已结束,因为突出显示的语句未成功完成


我想创建类似SQL Server的表,并在ID字段中允许NULL。如何更正此问题?

默认值为NULL。。。你可以不说了

CREATE TABLE schema.taname(
  ID char(7) NOT NULL,
  SOURCE char(14) NOT NULL,
  TARGET char(14) NOT NULL,
  ID1 char(100)
);
或者,指定
DEFAULT
子句

CREATE TABLE schema.taname(
  ID char(7) NOT NULL,
  SOURCE char(14) NOT NULL,
  TARGET char(14) NOT NULL,
  ID1 char(100) DEFAULT NULL
);