包含外键约束的Alter语句

时间:2014-06-24 01:15:00

标签: mysql

ALTER TABLE Class_T (
ADD COLUMN 'hostId' INT,
ADD FOREIGN KEY ('hostId') REFERENCES Host_T ('hostId'));

我正在尝试在Class_T表中添加一个列,并使其成为另一个表中的主键。我正在使用phpmyadmin。

我在尝试运行时遇到此错误。

Error SQL query: ALTER TABLE Class_T ( ADD COLUMN 'hostId' INT, 
ADD FOREIGN KEY ('hostId')   REFERENCES Host_T ('hostId')) 
MySQL said: Documentation #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 
'( ADD COLUMN 'hostId' INT, ADD FOREIGN KEY ('hostId') 
REFERENCES Host_T ('host' at line 1 – 

有谁知道我的代码出了什么问题?

2 个答案:

答案 0 :(得分:0)

尝试删除括号:

ALTER TABLE Class_T
ADD COLUMN 'hostId' INT,
ADD FOREIGN KEY ('hostId') REFERENCES Host_T ('hostId');

答案 1 :(得分:0)

您的查询中有多个错误。

  1. 要添加的实体周围不需要'('')'个大括号 或修改。
  2. 仅使用标识符后面的 ` 。它们是可选的 除非名称是MySQL保留字。单引号适用于 文字。
  3. 更改了查询

    ALTER TABLE Class_T 
          ADD COLUMN hostId INT,
          ADD FOREIGN KEY ( hostId ) REFERENCES Host_T( hostId );