mysql 引用键问题,phpmyadmin 错误代码 150 [重复]
Posted
技术标签:
【中文标题】mysql 引用键问题,phpmyadmin 错误代码 150 [重复]【英文标题】:mysql refference key issue, phpmyadmin error code 150 [duplicate] 【发布时间】:2015-08-11 04:37:05 【问题描述】:我正在尝试创建如下两个表,
--
-- Table structure for table `users`
--
CREATE TABLE IF NOT EXISTS `users` ( `Id` int(11) NOT NULL
AUTO_INCREMENT, `UserType` varchar(32) DEFAULT NULL, `FirstName`
varchar(64) DEFAULT NULL, `LastName` varchar(64) DEFAULT NULL,
`Email` varchar(64) DEFAULT NULL, `CompanyName` varchar(64) DEFAULT
NULL, `Telephone` varchar(64) DEFAULT NULL, `Country` varchar(64)
DEFAULT NULL, `Website` varchar(64) DEFAULT NULL, `JobTitle`
varchar(64) DEFAULT NULL, `Active` int(1) DEFAULT NULL, `Notes`
text, `DateOfRegistration` datetime DEFAULT NULL, PRIMARY KEY
(`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Table structure for table `login`
--
CREATE TABLE IF NOT EXISTS `login` ( `Id` int(11) NOT NULL,
`Username` varchar(64) NOT NULL, `Email` varchar(64) NOT NULL,
`Password` varchar(64) NOT NULL, `FailedAttemptCount` int(2) NOT
NULL, `LastLogin` datetime NOT NULL, `UserLevel` int(1) NOT NULL,
`IsVerified` int(1) NOT NULL DEFAULT '0', `VerificationKey`
varchar(256) NOT NULL, `VerifiKeyCreated` datetime NOT NULL,
PRIMARY KEY (`Id`), FOREIGN KEY (`Id`) REFERENCES users.Id, UNIQUE
KEY `username` (`Username`), UNIQUE KEY `Email` (`Email`) )
ENGINE=InnoDB DEFAULT CHARSET=latin1;
我想添加一个外键,即 login.Id 引用 users.Id,但在 phpmyadmin 中出现错误(代码 150)。
提前感谢您的帮助!
最好的问候, 拉吉布
【问题讨论】:
我投票决定将其作为一个简单的印刷错误关闭。应该是FOREIGN KEY(id) REFERENCES users(id)
【参考方案1】:
应该是
REFERENCES `users`(`Id`)
而不是
REFERENCES users.Id
参见。 http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html
【讨论】:
以上是关于mysql 引用键问题,phpmyadmin 错误代码 150 [重复]的主要内容,如果未能解决你的问题,请参考以下文章