【问题标题】:SQL Fiddle MySQL 5.6 vs MS SQL Server 2017 - simple create and insertSQL Fiddle MySQL 5.6 vs MS SQL Server 2017 - 简单的创建和插入
【发布时间】:2020-02-02 21:37:42
【问题描述】:

我正在 SQL Fiddle 上运行以下查询

使用 MySQL 5.6,以下工作正常:

create table test (col_1 varchar(10), col_2 int);

insert into test (col_1, col_2)
values ("A", 3),
      ("B", 7),
      ("A", 1),
      ("B", 2);

但是使用 MS SQL Server 2017 进行相同的查询。我正在返回错误:

Invalid column name 'A'.

两个 SQL 的语法应该相同吗?

这是错误的快照:

【问题讨论】:

  • 一切正常
  • 认为所有厂商的sql实现都一样是错误的
  • @xXx,我刚刚添加了错误消息快照
  • 尝试在 A , B 周围使用单引号
  • @user1700890 insted of "" use ''

标签: mysql sql-server sql-insert create-table sqlfiddle


【解决方案1】:

您应该使用单引号(SQLserver 中的双引号用于列名)

  insert into test (col_1, col_2)
  values ('A', 3),
        ('B', 7),
        ('A', 1),
        ('B', 2);

【讨论】:

  • 您发布了正确答案,但仍然用双引号(一次)发布。很难抗拒双引号;-)
  • @user1700890 谢谢...错误的自动替换...答案已更新..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多