在用myeclipse開發時,用hibernate的逆向工程時發現竟然無法生成one-to-one one-to-many等的主外鍵關係,明明的數據庫建時已經有主外鍵關係了.為啥逆向生成時就不行了呢?
果斷搜索之,沒有非常直接的答案,但還是找到了蛛絲馬跡.”MyISAM數據庫引擎不支持事務處理也不支持外來鍵” 看到這句話有點眉目了.
查詢目前mysql的數據庫引擎
show engines;
果然還真是MyISAM引擎,果斷改為InnoDB類型
alter table 表名 type=InnoDB;
提示成功了.可仍然是不行.細看查出的數據庫引擎發現問題了.原來我的mysql根本就不支持InnoDB類型的數據庫引擎.
為什麼會不支持吶.mysql默認就是InnoDB類型的啊.事情的起因是這樣的:
以前為了測試一些php的程序方便就搞了個phpnow的一鍵安裝包,此包是綠色版的.所以一直感覺還挺好用的.而電腦上安裝的mysql讓我設置成手動啟動了.所以我一直以來使用的數據庫就成了phpnow里提供的數據庫了.
Innordb的功能要比myiasm強大很多,但是innordb的性能要比myisam差很多.這句話還真是不假
導入一個數據庫竟然花費了500多秒.
另外別忘了更改數據庫的數據引擎,因為這樣導入還是原來的數據引擎,需要手動改一下
alter table 表名 type=InnoDB;