0

我正在将我的数据库从 mssql 升级到 mysql,我正在创建外键

在我使用的 MSSQL 中

alter table ac_master add constraint 'ac_master_table_conf' foreign key (ac_code) references table_conf (ac_code)

MySql 对此给出错误

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''ac_master_table_conf' 外键 (ac_code) 引用 table_conf(ac_code)' 附近使用正确的语法

4

3 回答 3

2

删除约束名称周围的引号,例如

ALTER TABLE ac_master ADD CONSTRAINT ac_master_table_conf FOREIGN KEY (ac_code) REFERENCES table_conf (ac_code)
于 2013-08-14T09:27:02.930 回答
1

据我所知,SQL Server 和 MySQL 都没有对标识符使用单引号语法。您可能想要ac_master_table_conf而不是'ac_master_table_conf'.

除此之外,语法ALTER TABLE已记录在案,您无需猜测。

于 2013-08-14T09:25:31.553 回答
0

如果它是字段或表的名称,则 mysql 中不涉及引号。引号的唯一需要是指定一个字符串,如下所示

select * from abc where column = 'string';

所以下次要小心。

于 2013-08-14T12:41:05.133 回答