我正在尝试在我的php文件中创建此表:
mysql_query("CREATE TABLE Orders (orderID INT(3) NOT NULL PRIMARY KEY AUTO_INCREMENT,
FOREIGN KEY (userID) REFERENCES Users (userID))");
但是,无论何时运行此查询,它都不会创建表。
我创建的外键是错误的吗?
答案 0 :(得分:3)
查询后的mysql_error()
的回显结果,您将看到查询失败的原因。
mysql_query("CREATE TABLE Orders (
orderID INT(3) NOT NULL PRIMARY KEY AUTO_INCREMENT,
FOREIGN KEY (userID) REFERENCES Users (userID)
)") or die(mysql_error());
在您的情况下,没有列userID
,并且您正在尝试在该列上创建外键。您必须先定义列。确保它与Users
表
mysql_query("CREATE TABLE Orders (
orderID INT(3) NOT NULL PRIMARY KEY AUTO_INCREMENT,
userID INT,
FOREIGN KEY (userID) REFERENCES Users (userID)
)") or die(mysql_error());