所以我创建了下表:
CREATE TABLE TABLE1
(
CATEGORY varchar(255),
CODE int
)
我尝试运行以下代码:
INSERT INTO TABLE1 ( CATEGORY, CODE )
VALUES ("xxxxx",1)
但我收到以下错误:
“在 TABLE1 中找不到列 xxxxx”
据我所知,我遵循 corect 格式。如果这有什么不同的话,我正在使用 Teradat SQL 助手进行编码
所以我创建了下表:
CREATE TABLE TABLE1
(
CATEGORY varchar(255),
CODE int
)
我尝试运行以下代码:
INSERT INTO TABLE1 ( CATEGORY, CODE )
VALUES ("xxxxx",1)
但我收到以下错误:
“在 TABLE1 中找不到列 xxxxx”
据我所知,我遵循 corect 格式。如果这有什么不同的话,我正在使用 Teradat SQL 助手进行编码
您可能需要在字符串文字周围使用单引号:
INSERT INTO TABLE1 ( CATEGORY, CODE )
VALUES
('xxxxx', 1);
根据错误消息,Teradata 似乎将双引号解释为列名/别名。
有一个关于此的Teradata 社区帖子:
单引号是字符串分隔符。双引号用于列和表名等标识符。但在 Teradata 双引号标识符不区分大小写(这是与标准 SQL 的偏差)
为什么不只使用SELECT
语句?
INSERT INTO TABLE1 ( CATEGORY, CODE )
SELECT 'xxxxx', 1
利用:
INSERT INTO TABLE1 ( CATEGORY, CODE )
VALUES ('xxxxx', 1)