Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 添加外键关系mysql(5.5.29)时出现错误1050:_Php_Mysql - Fatal编程技术网

Php 添加外键关系mysql(5.5.29)时出现错误1050:

Php 添加外键关系mysql(5.5.29)时出现错误1050:,php,mysql,Php,Mysql,添加外键关系时,MySQL出现错误1050: 我有两个表,试图给出外键与其他表的关系,但它给出了以下错误 错误1005:无法创建表“yellowbikes.#sql-1e8_82”(错误号:121) SQL语句: ALTER TABLE `yellowbikes`.`schedule` ADD CONSTRAINT `bike_number` FOREIGN KEY (`bike_number` ) REFERENCES `yellowbikes`.`bike` (`bike_nu

添加外键关系时,MySQL出现
错误1050

我有两个表,试图给出外键与其他表的关系,但它给出了以下错误

错误1005:无法创建表“yellowbikes.#sql-1e8_82”(错误号:121)

SQL语句:

ALTER TABLE `yellowbikes`.`schedule` 
  ADD CONSTRAINT `bike_number`
  FOREIGN KEY (`bike_number` )
  REFERENCES `yellowbikes`.`bike` (`bike_number` )
  ON DELETE NO ACTION
  ON UPDATE NO ACTION
, ADD INDEX `bike_number_idx` (`bike_number` ASC)
CREATE TABLE `schedule` (
   `bikeid` int(11) NOT NULL,
   `bike_number` varchar(24) NOT NULL,
   PRIMARY KEY (`bikeid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
错误:运行故障回复脚本时出错。详情如下

错误1050:表“时间表”已存在

SQL语句:

ALTER TABLE `yellowbikes`.`schedule` 
  ADD CONSTRAINT `bike_number`
  FOREIGN KEY (`bike_number` )
  REFERENCES `yellowbikes`.`bike` (`bike_number` )
  ON DELETE NO ACTION
  ON UPDATE NO ACTION
, ADD INDEX `bike_number_idx` (`bike_number` ASC)
CREATE TABLE `schedule` (
   `bikeid` int(11) NOT NULL,
   `bike_number` varchar(24) NOT NULL,
   PRIMARY KEY (`bikeid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

检查以确保它们都是同一类型。
Schedule
具有类型
utf8
。检查黄色自行车的类型是否为默认类型?!?!如果是,请将其更改为
utf8

编辑:


还可以检查MySql数据库是否为MyISAM。如果是这样,请将其切换到InnoDB,因为如果您需要数据库强制执行外键约束,或者需要数据库作为单个工作单元处理DML操作集所做的更改,那么您将选择InnoDB而不是MyISAM,由于MyISAM引擎中没有这些功能。

您是否尝试过不使用“yellowbikes”的SQL语句?您是否100%确定没有名称为schedule的表?在第二条语句之前,如果存在计划,请尝试删除表。如果确实存在,则听起来像是一个坏表。嗨,Alex,不,没有单独的表作为“计划”,也已尝试使用不同的名称,仍然存在相同的问题。您是否在Windows上运行MySQL服务器?嗨,Vin,是的,两者都属于相同类型,我已经创建了更多的表和关系,但是现在当我创建一个新的表和关系时,它会抛出这个错误。如果您的MySQL DB引擎是MyISAM,您将无法在创建表之后添加外键。如果是这样,您可以将其更改为InnoDB..(ans编辑)Hi-Vinayak,两个表的引擎都是InnoDB本身,具有排序规则UTF8默认排序规则检查此帖子“[2011年2月16日12:41]Desmond Coertzen”,在这个链接中Hi-Vinayak,可以,但我认为它的行为方式不同:(顺便说一句,谢谢搜索它。。