关于 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! 没指定的话,默认是插入全部列哦,可以这样
insert into test values(default,'aaaaa') 楼上说的对,没有指定列时,会插入全部列值,而你只提供了一个,我想你可能会认为序列会自己产生插入,这是对的,但在插入数据时,确实要指定列,除了有序列的那个列外。 这有啥恶心的,语法就是这样的,是有一定规则,不是你想怎么用就是怎么用的,用了一个错误的做法说语言学家恶心,这有点不大厚道吧 LZ,呵呵 lz 呵呵 呵呵,基本sql语法问题吧。
页:
[1]