【问题标题】:Trying to do a INSERT INTO in SQL尝试在 SQL 中执行 INSERT INTO
【发布时间】:2019-04-30 10:51:22
【问题描述】:

所以我创建了下表:

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

我尝试运行以下代码:

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

但我收到以下错误:

“在 TABLE1 中找不到列 xxxxx”

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

【问题讨论】:

  • 双引号用于分隔标识符。对字符串文字使用单引号。 IE。 INSERT INTO TABLE1 ( CATEGORY, CODE ) VALUES ('xxxxx',1).

标签: sql teradata-sql-assistant


【解决方案1】:

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

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

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

有一个Teradata community post关于这个:

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

【讨论】:

  • 感谢您的帮助
【解决方案2】:

为什么不直接使用SELECT 语句?

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

【讨论】:

    【解决方案3】:

    用途:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 2014-04-23
      • 2023-02-09
      相关资源
      最近更新 更多