尝试在SQL中执行INSERT INTO

时间:2018-11-28 13:51:41

标签: sql teradata-sql-assistant

所以我创建了下表:

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

然后我尝试运行以下代码:

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

但是出现以下错误:

“在TABLE1中找不到列xxxxx”

据我所知,我遵循的是corect格式。我在Teradat SQL Assistant中进行编码,如果有什么不同

3 个答案:

答案 0 :(得分:3)

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

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

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

有一个Teradata community post

  

单引号是字符串定界符。双引号用于标识符,例如列和表名。但是在Teradata中,双引号标识符不区分大小写(这与标准SQL有所不同)

答案 1 :(得分:0)

为什么不只使用SELECT语句?

INSERT INTO TABLE1 ( CATEGORY, CODE )
     SELECT 'xxxxx', 1

答案 2 :(得分:0)

使用:

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