1


我必须使用其他表中的字段创建一个表(H2 嵌入式数据库)。我决定使用CREATE TABLE AS声明。

我的代码:
CREATE TABLE DOC AS
SELECT I.ID, I.STATUS, A.REMINDERINFORMATION
FROM IE802 I JOIN IE802_ATTRIBUTES A ON A.IE802_ID=I.ID;

从上面的代码生成的每一行还必须有DOCIDPrimaryKey。如何添加此列并使其同时自动递增和 PK?

感谢您提供任何提示和其他解决方案!

或者,我怎样才能使现有的 I.ID 成为 PK?

我仍然收到一个错误:列“ID”不能为空;SQL 语句:ALTER TABLE DOC ADD PRIMARY KEY (ID) [90023-147]

4

1 回答 1

1

H2 支持 CREATE AS SELECT 中的列定义:

CREATE TABLE DOC(
    ID INT PRIMARY KEY, 
    STATUS INT, 
    REMINDERINFORMATION VARCHAR(255)
) 
AS SELECT I.ID, I.STATUS, A.REMINDERINFORMATION
FROM IE802 I JOIN IE802_ATTRIBUTES A ON A.IE802_ID=I.ID;
于 2010-12-15T13:31:20.727 回答