我有以下mysql表结构
这是第一个表的结构:
CREATE TABLE IF NOT EXISTS `adv_publish` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`advertise_id` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
`createdat` datetime NOT NULL,
`removedat` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
这是第二张表的结构:
CREATE TABLE IF NOT EXISTS `adv_analytics` (
`id` int(11) NOT NULL,
`publish_advertiser_id` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
这是两个表之间的外键关系。当我执行时,我收到以下错误消息:
1005 - 无法创建表'hotels.#sql-b80_155'(错误号:150)
ALTER TABLE adv_analytics ADD FOREIGN KEY fk_advertise_id (publish_advertiser_id) REFERENCES adv_publish(advertise_id) ON UPDATE CASCADE ON DELETE CASCADE;
这两个表目前都是空的。请找出我的代码中的矛盾。有点急。感谢你的支持。