1

所以我创建了下表:

CREATE TABLE TABLE1
(
    CATEGORY varchar(255),
    CODE int
)

我尝试运行以下代码:

INSERT INTO TABLE1 ( CATEGORY, CODE )
VALUES ("xxxxx",1)

但我收到以下错误:

“在 TABLE1 中找不到列 xxxxx”

据我所知,我遵循 corect 格式。如果这有什么不同的话,我正在使用 Teradat SQL 助手进行编码

4

3 回答 3

3

您可能需要在字符串文字周围使用单引号:

INSERT INTO TABLE1 ( CATEGORY, CODE )
VALUES
    ('xxxxx', 1);

根据错误消息,Teradata 似乎将双引号解释为列名/别名。

有一个关于此的Teradata 社区帖子

单引号是字符串分隔符。双引号用于列和表名等标识符。但在 Teradata 双引号标识符不区分大小写(这是与标准 SQL 的偏差)

于 2018-11-28T13:52:59.500 回答
0

为什么不只使用SELECT语句?

INSERT INTO TABLE1 ( CATEGORY, CODE )
     SELECT 'xxxxx', 1
于 2018-11-28T13:52:48.200 回答
0

利用:

INSERT INTO TABLE1 ( CATEGORY, CODE )
VALUES ('xxxxx', 1)
于 2018-11-28T13:53:59.900 回答