snow888 发表于 2010-04-21 10:04

关于 DB2 的自增长列(已解决,恶心)

本帖最后由 snow888 于 2010-04-21 12:33 编辑

建表脚本create table test (
a numeric(19,0) not null generated by default as identity( minvalue +1 maxvalue +200000),
b char(8),
constraint pk_test primary key (a));插入数据时使用如下语句db2 "insert into test values('aaaaaa')"居然报错了,错误信息如下:


DB21034EThe command was processed as an SQL statement because it was not a
valid Command Line Processor command.During SQL processing it returned:
SQL0117NThe number of values assigned is not the same as the number of
specified or implied columns.SQLSTATE=42802



何解???insert into test (b) values('aaaaa')OK!

chenxw_mail 发表于 2010-04-27 11:59

没指定的话,默认是插入全部列哦,可以这样
insert into test values(default,'aaaaa')

hooboor 发表于 2010-04-27 13:53

楼上说的对,没有指定列时,会插入全部列值,而你只提供了一个,我想你可能会认为序列会自己产生插入,这是对的,但在插入数据时,确实要指定列,除了有序列的那个列外。

net_lin 发表于 2010-05-26 09:03

这有啥恶心的,语法就是这样的,是有一定规则,不是你想怎么用就是怎么用的,用了一个错误的做法说语言学家恶心,这有点不大厚道吧

leikai 发表于 2010-06-17 15:17

LZ,呵呵

huabingl 发表于 2010-08-06 21:30

lz 呵呵

leal402 发表于 2010-08-06 22:02

呵呵,基本sql语法问题吧。
页: [1]
查看完整版本: 关于 DB2 的自增长列(已解决,恶心)