mysql 创建表出现异常:You have an error in your SQL syntax; ......at line 1

在将Oracle数据库转换为MySQL的过程中,遇到SQL脚本执行失败的问题。尽管修改了数据类型并尝试解决大小写和单引号问题,但仍然报错。错误提示指向第一行的语法错误。文章讨论了可能是由于使用了错误类型的单引号导致的问题,并提供了一个修正后的CREATE TABLE语句示例,强调删除不必要的单引号可以解决问题。
摘要由CSDN通过智能技术生成

先说细节,因为公司接了个单子,项目要求是:将Oracle数据库换成mysql数据库。

前提:对方公司给了一个sql脚本

大家都知道,Oracle和MySQL在一些细节上是有区别的。所以我们直接运行脚本是不会成功的。于是我用单个创建表的代码段来测试,把原来Oracle的类型转换成MySQL的类型,然后选择代码块运行,结果出乎我的意料。

我看了报错信息,提示说是sql的第一行出现语法错误,但是我印象中好像感觉没啥问题(太久没用sql语句建表),以为是大小写的问题,于是我把表名和列名都改成小写。再次执行该代码块,还是报错,我还特意去百度了一下,发现有的博主也是这样写的。

为什么我也是这样,怎么就报错呢?

在我查找到的其中一篇文章中,该博主说,有可能是我们在使用单引号的时候,用的不是英文的单引号,而是英文的反单引号。大家可以访问该文章查看(侵权即删)mysql 创建表时出现和引号相关的问题_ajungejava的博客-CSDN博客CREATE TABLE 'product_category' ( 'category_id' INT NOT NULL auto_increment, 'category_name' VARCHAR (64) NOT NULL COMMENT '类目名称,' || 'category_type' INT NOT NULL COMMENT '类目编号', 'create_t...https://blog.csdn.net/qq_37992974/article/details/87992685

mysql 创建表出现异常,异常信息是:1064 - 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 ' 'tableName' (....at line 1

CREATE TABLE 'ss' (
  'GROUP_ID' int(11),
  'TABLE_NAME' varchar(100),
  'ROWS_QTY' int(11),
  'INSERT_DATE' varchar(100),
  'REMARK' varchar(200)
)

之所以出现这种问题,是因为多了单引号,把单引号删掉,选中代码重新运行即正常

DROP TABLE IF EXISTS ALL_GROUP_QTY;
CREATE TABLE ALL_GROUP_QTY (
  GROUP_ID int(11),
  TABLE_NAME varchar(100),
  ROWS_QTY int(11),
  INSERT_DATE varchar(100),
  REMARK varchar(200)
)

end!

欢迎评论进行探讨!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值