建立外键的时候,所有的参数都要匹配,比如unsigned not null 等等。
CREATE TABLE `user_access` (
`AccessId` bigint(20) unsigned NOT NULL auto_increment,
`ServerId` bigint(20) unsigned NOT NULL default '0',
`ChannelId` bigint(20) unsigned NOT NULL default '0',
`UserId` varchar(64) NOT NULL default '',
`AccessStartTime` datetime default NULL,
`AccessEndTime` datetime default NULL,
`AccessValid` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`AccessId`),
KEY `FK_SERV_ACC` (`ServerId`),
KEY `FK_CHAN_ACC` (`ChannelId`),
CONSTRAINT `FK_CHAN_ACC` FOREIGN KEY (`ChannelId`) REFERENCES `channel` (`ChannelId`) ON DELETE CASCADE,
CONSTRAINT `FK_SERV_ACC` FOREIGN KEY (`ServerId`) REFERENCES `server` (`ServerId`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `user_access` (
`AccessId` bigint(20) unsigned NOT NULL auto_increment,
`ServerId` bigint(20) unsigned NOT NULL default '0',
`ChannelId` bigint(20) unsigned NOT NULL default '0',
`UserId` varchar(64) NOT NULL default '',
`AccessStartTime` datetime default NULL,
`AccessEndTime` datetime default NULL,
`AccessValid` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`AccessId`),
KEY `FK_SERV_ACC` (`ServerId`),
KEY `FK_CHAN_ACC` (`ChannelId`),
CONSTRAINT `FK_CHAN_ACC` FOREIGN KEY (`ChannelId`) REFERENCES `channel` (`ChannelId`) ON DELETE CASCADE,
CONSTRAINT `FK_SERV_ACC` FOREIGN KEY (`ServerId`) REFERENCES `server` (`ServerId`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;