外部キーを使用してテーブルを作成しようとしていますが、過去のエラー150は取得できません。MYSQLはテーブルを作成できません:エラー150
`selected` tinyint(1) NOT NULL DEFAULT '0',
すべてのテーブルはInnoDBは、次のとおりです。
DROP TABLE IF EXISTS `Aliases`;
CREATE TABLE `Aliases` (
`aliasnum` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`usernum` bigint(20) unsigned NOT NULL DEFAULT '0',
`address` varchar(255) NOT NULL DEFAULT '',
`display` varchar(255) NOT NULL DEFAULT '',
`selected` tinyint(1) NOT NULL DEFAULT '0',
`created` datetime NOT NULL,
PRIMARY KEY (`aliasnum`),
UNIQUE KEY `UNIQ_DISPLAY` (`usernum`,`address`,`display`),
KEY `IX_USERNUM` (`usernum`),
KEY `IX_USERNUM_ADDRESS` (`usernum`,`address`),
CONSTRAINT `Aliases_fk_1` FOREIGN KEY (`usernum`, `address`) REFERENCES `Mailboxes` (`usernum`, `address`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 MAX_ROWS=4294967295 AVG_ROW_LENGTH=100 COMMENT='Store mailbox display aliases and default status information.';
DROP TABLE IF EXISTS `Mailboxes`;
CREATE TABLE `Mailboxes` (
`address` varchar(255) NOT NULL DEFAULT '',
`usernum` bigint(20) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`address`),
KEY `IX_USERNUM` (`usernum`),
KEY `IX_USERNUM_ADDRESS` (`usernum`,`address`),
CONSTRAINT `Mailboxes_ibfk_1` FOREIGN KEY (`usernum`) REFERENCES `Users` (`usernum`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 MAX_ROWS=4294967295 AVG_ROW_LENGTH=100 COMMENT='All mailboxes for which we accept e-mail.';
誤りがあるそのライン29は言う:
は、ここに私のスクリプトです。私は本当に立ち往生して、それが何であるか分からないのですか?
ああ、私はそんなに馬鹿だと感じています。ありがとう! – Erdss4
ようこそ。あなたが聞いていないものを除いて、愚かな質問はありません。そして、MySQLはエラーメッセージに奇妙な行番号を付けます。 –