【问题标题】:Coverting script for older SQL version to work with 5.6将旧 SQL 版本的脚本转换为适用于 5.6
【发布时间】:2021-01-23 23:47:13
【问题描述】:

如果我对这个问题的基本理解不正确,我们深表歉意。我对 SQL 不是很熟悉,还在学习中。

我正在尝试为一个数据集生成一个表格,并得到了这个脚本:

CREATE TABLE [dbo].[lobbying](
[uniqid] [varchar](36) NOT NULL, [registrant_raw] [varchar](110) NULL, [registrant] [varchar](50) NULL, [isfirm] [char](1) NULL,
[client_raw] [varchar](110) NULL, [client] [varchar](50) NULL,
[ultorg] [varchar](50) NULL,
[amount] [float] NULL,
[catcode] [char](5) NULL,
[source] [char] (5) NULL,
[self] [char](1) NULL,
[IncludeNSFS] [char](1) NULL,
[use] [char](1) NULL,
[ind] [char](1) NULL,
[year] [char](4) NULL,
[type] [char](4) NULL,
[typelong] [varchar](50) NULL, [affiliate] [char](1) NULL,
) ON [PRIMARY]

您可能会说,它不起作用。该脚本于 2015 年更新,因此我认为问题出在版本上。我尝试使用 SQL Fiddle 找出导致问题的原因,并发现取出括号有帮助(这是有道理的,因为我遵循的教程没有为他们的表格使用任何括号)。但是,即使这样,我仍然收到错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'use char(1) NULL,
ind char(1) NULL,
year char(4) NULL,
type char(4) NULL,
typelo' at line 10

有人知道这里的问题是什么吗?任何帮助将不胜感激。到目前为止,我已经为这个项目倾注了大约 4 个小时,但无法克服这个障碍。

【问题讨论】:

  • 您似乎正在尝试将 T-SQL (Microsoft SQL Server) 语法输入 MySQL 数据库。您的示例包含标识符分隔符的括号 ([ ])、表名的 [dbo] 前缀和“ON [PRIMARY]”,所有 T-SQL 指示符,但您发布的错误消息提到“MySQL 服务器”。您可以从查看以下内容开始:mysqltutorial.org/mysql-create-table

标签: mysql sql-server mysql-5.6


【解决方案1】:

用带反引号的括号替换名称就足够了,还可以删除类型 nqames 周围的括号

CREATE TABLE lobbying(
`niqid`varchar(36) NOT NULL
, `egistrant_raw`varchar(110) NULL
, `egistrant` varchar(50) NULL
, `isfirm` char(1) NULL,
`client_raw` varchar(110) NULL
, `client` varchar(50) NULL,
`ultorg`  varchar(50) NULL,
`amount` float NULL,
`catcode` char(5) NULL,
`source` char(5) NULL,
`self` char(1) NULL,
`IncludeNSFS` char(1) NULL,
`use` char(1) NULL,
`ind` char(1) NULL,
`year` char(4) NULL,
`type` char(4) NULL,
`typelong`  varchar(50) NULL
, `affiliate` char(1) NULL
) 

db小提琴here

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 2013-03-08
  • 2018-07-31
  • 1970-01-01
  • 1970-01-01
  • 2018-09-28
  • 2018-10-30
相关资源
最近更新 更多