![](/img/trans.png)
[英]How do I import date and price thru phpMyAdmin to then sort correctly?
[英]How do I import this database correctly?
如何正確導入該數據庫?
https://github.com/samanz/cakecart
每次導入時都會出現此錯誤:
Error
SQL query:
CREATE TABLE `categories` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 50 ) NULL default NULL ,
`parent_id` INT( 11 ) UNSIGNED default '0',
`order` INT( 3 ) default '0',
`image` VARCHAR( 50 ) NULL default NULL ,
`ids` VARCHAR( 225 ) NULL default NULL ,
`url` VARCHAR( 255 ) NULL default NULL ,
PRIMARY KEY ( `id` ) ,
FOREIGN KEY ( `parent_id` ) REFERENCES categories( `id` ) ,
UNIQUE KEY `url` ( `url` )
);
MySQL said: Documentation
#1005 - Can't create table 'db.categories' (errno: 150)
外鍵是錯誤150,但是表的數量比此錯誤多得多。
請先嘗試導入,然后再回答。
這是一項工作:
CREATE TABLE `categories` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 50 ) NULL default NULL ,
`parent_id` INT( 11 ),
`order` INT( 3 ) default '0',
`image` VARCHAR( 50 ) NULL default NULL ,
`ids` VARCHAR( 225 ) NULL default NULL ,
`url` VARCHAR( 255 ) NULL default NULL ,
PRIMARY KEY ( `id` ) ,
FOREIGN KEY ( `parent_id` ) REFERENCES categories( `id` ) ,
UNIQUE KEY `url` ( `url` )
);
編輯:實際上,您只需要刪除未簽名即可使其工作。 但我真的不知道為什么要將它設為默認值0。它應該是默認值NULL,這是默認值默認值.. :)
我相信parent_id的類型必須與id相同。
問題是,您正在嘗試創建表category
。在此表中,您使用的是外鍵,但尚未創建此包含外鍵的表。
因此,首先創建包含有parent_id
的表,然后嘗試創建category
表
我認為這給您帶來了錯誤,因為您引用的是一個不存在但尚未創建的表,該表就是您試圖創建的表。
為什么不先創建表,然后添加約束(外鍵)?
但是在同一張表中這樣做可能會導致您遇到錯誤。 如果新添加的記錄沒有為其分配父項,將會發生什么? 默認值為0。這會因為沒有id = 0的記錄而給您一個錯誤?
我建議您為此創建一個關系表來對此進行規范化。
CREATE TABLE CategoryGroups //or whatever name you find fits.
(
`Cat_id` int(11) NOT NULL,
`Parent_id` int(11),
FOREIGN KEY (`Parent_id`) REFERENCES categories(`id`),
FOREIGN KEY (`Cat_id`) REFERENCES categories(`id`)
)
最佳做法是規范所有數據,並通過創建關系表來刪除任何兩個表之間的所有多對多關系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.