我使用phpmyadmin在本地創建數據庫表。我將它們的引擎設置爲innoDB,並使用phpmyadmin創建外鍵關係。這一切都在當地工作。創建InnoDB表爲MyISAM
但是,如果我嘗試將這些表導出到生產站點,表創建爲MYISAM,並且通過創建列上的索引,它們不會作爲外鍵鏈接到另一個表。
任何想法,爲什麼會發生這種情況?
要導出的表,我剛進去phpMyAdmin來導出,這是查詢的一個例子它給了我,我在生產現場運行:
CREATE TABLE IF NOT EXISTS `foo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`barId` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `barId` (`barId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
ALTER TABLE `foo`
ADD CONSTRAINT `foo_ibfk_1` FOREIGN KEY (`barId`) REFERENCES `barTable` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION;
這並創建表,並作出了索引在barId上,但表引擎是myisam而不是inno,barId上沒有外鍵指向barTable.id
prod DB是否支持InnoDB? –
+1 @Dave Newton的回答。鍵入'SHOW ENGINES;'查看遠程服務器端支持哪些數據庫引擎。 – Vic
@vic是的,它支持InnoDb,我可以手動將它切換到inno db –