今天使用PowerDesigner搭建了一个小项目,最后执行完SQL脚本时才发现有2张表的表名中间多了一个空格,查完资料,最后并惊奇发现映射文件竟然多了2个`,就是shift+数字键1的那个,也就是他在脚本是这样写的:
create table `table1`(....);
问题解决。
PS:从网上找到的资料:
作为一个Oracle DBA,MySQL很多SQL语法与Oracle的还是有很多差异的。
这里我将要在MySQL里建一个表,表名为”Test Table”, 其中一个列名为”First Name”,当我用下列SQL语句来创建此表时,MySQL返回下列错误:
mysql> create table “Test Table2″ (id int, “First Name” varchar(200));
ERROR
1064 (42000): 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 ‘”Test Table2″ (id int, “First Name” varchar(200))’ at line 1
这个MySQL数据库是按照默认配置安装的。
那么改如何解决这个问题呢?
方法1:
使用 ` (即数字键1左边那个键)符来代替上面的双引号,就像下面
create table `Test Table2` (id int, `First Name` varchar(200));
方法2:
修改MySQL的配置文件my.cnf文件,在[mysqld]此项中添加下面参数,然后重启MySQL使之生效
sql_mode = ANSI_QUOTES
方法3:
在启动MySQL时添加一个启动选项
mysqld_safe –user=mysql –sql-mode=ANSI_QUOTES &