Php 数据库导入情况
Mysql不想将此数据库添加到我的localhost数据库部分 我做错什么了吗 db.sql 本教程: 错误:Php 数据库导入情况,php,mysql,cakephp,Php,Mysql,Cakephp,Mysql不想将此数据库添加到我的localhost数据库部分 我做错什么了吗 db.sql 本教程: 错误: 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'
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 'cake_cart.categories' (errno: 150)
应该看起来像这样
CREATE TABLE IF NOT EXISTS `categories` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`parent_id` int(11) unsigned NOT NULL DEFAULT '0',
`order` int(3) NOT NULL DEFAULT '0',
`img` varchar(50) NOT NULL,
`ids` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `url` (`url`),
KEY `parent_id` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
我更新了结构并在我的数据库上运行了它,它工作了。应该是这样的
CREATE TABLE IF NOT EXISTS `categories` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`parent_id` int(11) unsigned NOT NULL DEFAULT '0',
`order` int(3) NOT NULL DEFAULT '0',
`img` varchar(50) NOT NULL,
`ids` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `url` (`url`),
KEY `parent_id` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
我更新了结构并在我的数据库上运行了它,它成功了。错误150是一个外键问题。可能由以下原因引起:
FOREIGN KEY ( `parent_id` ) REFERENCES categories( `id` ) ,
不能对正在创建的同一个表进行“外部”键引用。只需将parent\u id
列编入索引即可
KEY `parent_id` ( `parent_id` ) ,
错误150是外键问题。可能由以下原因引起:
FOREIGN KEY ( `parent_id` ) REFERENCES categories( `id` ) ,
不能对正在创建的同一个表进行“外部”键引用。只需将parent\u id
列编入索引即可
KEY `parent_id` ( `parent_id` ) ,
可能重复。可能重复。实际上,您不想仅仅删除那个外键,因为他正计划使用那个列加入到表中。您需要确保它是用一个普通的key语句索引的,正如我在下面提到的。您的解决方案将创建表,是的,但这也会导致他的连接速度变慢,因为表中充满了数据。这一行可以工作,请尝试快速将整个数据库导入到本地主机,然后告诉我是否出现了相同的错误。哎呀,我没看到我忘了把它放进去。谢谢你指出这一点,我去了我的phpmyadmin并很快创建了它:D.更新!实际上,您不想仅仅删除那个外键,因为他正计划使用那个列加入到表中。您需要确保它是用一个普通的key语句索引的,正如我在下面提到的。您的解决方案将创建表,是的,但这也会导致他的连接速度变慢,因为表中充满了数据。这一行可以工作,请尝试快速将整个数据库导入到本地主机,然后告诉我是否出现了相同的错误。哎呀,我没看到我忘了把它放进去。谢谢你指出这一点,我去了我的phpmyadmin并很快创建了它:D.更新!