err1005:支持事务,行级锁定和外键

时间:2015-11-03 12:42:58

标签: mysql database phpmyadmin

首先,我知道StackOverflow上有很多关于这个主题的帖子。 我检查了他们,但没有人回答我的问题。

第二件事,我在OVH上使用PHPMyAdmin。所以我不是管理员,我没有root权限。这意味着有人为我创建了数据库并给我登录/密码来访问它。

所以这是我的问题。 我尝试创建一个名为matrice_solution的表。这是默认的create table

CREATE TABLE `matrice_solution` (
  `id_matrice_solution` int(11) NOT NULL AUTO_INCREMENT,
  `label` varchar(100) NOT NULL COMMENT 'Texte indicatif pour définir la matrice de solution',
  `fk_id_matrice` int(11) NOT NULL COMMENT 'Une combinaison de réponse, et donc son identifiant de matrice associé, n''accepte qu''une seule solution',
  `fk_id_solution` int(11) DEFAULT NULL COMMENT 'Une matrice de solution peut pointer soit vers une solution, soit vers une étape',
  `fk_id_nextstep` int(11) DEFAULT NULL COMMENT 'Une matrice de solution peut pointer soit vers une solution, soit vers une étape',
  `fk_id_step` int(11) NOT NULL COMMENT 'Une matrice de solution appartient a une étape',
  PRIMARY KEY (`id_matrice_solution`),
  UNIQUE KEY `fk_id_matricesolution_UNIQUE` (`fk_id_solution`,`fk_id_matrice`),
  KEY `fk_matricesolution_matrice_idx` (`fk_id_matrice`),
  KEY `fk_matricesolution_solution_idx` (`fk_id_solution`),
  KEY `fk_matricesolution_nextstep_idx` (`fk_id_nextstep`),
  KEY `fk_matricesolution_step_idx` (`fk_id_step`),
  CONSTRAINT `fk_matricesolution_matrice` FOREIGN KEY (`fk_id_matrice`) REFERENCES `matrice` (`id_matrice`) ON DELETE CASCADE ON UPDATE NO ACTION,
  CONSTRAINT `fk_matricesolution_nextstep` FOREIGN KEY (`fk_id_nextstep`) REFERENCES `step` (`id_step`) ON DELETE CASCADE ON UPDATE NO ACTION,
  CONSTRAINT `fk_matricesolution_solution` FOREIGN KEY (`fk_id_solution`) REFERENCES `solution` (`id_solution`) ON DELETE CASCADE ON UPDATE NO ACTION,
  CONSTRAINT `fk_matricesolution_step` FOREIGN KEY (`fk_id_step`) REFERENCES `step` (`id_step`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

对于信息,外键引用的所有其他表都已创建。

但是当我尝试创建此表时,我遇到了一个着名的错误:mysql #1005 - Can't create table和详细信息Supports transactions, row-level locking, and foreign keys

真正的问题是,如果我尝试用最简单的方法创建这个表,我也没有用。同样的问题:

CREATE TABLE `matrice_solution` (
  `id_matrice_solution` int(11) NOT NULL,
  `label` varchar(100) NOT NULL COMMENT 'Texte indicatif pour définir la matrice de solution',
  `fk_id_matrice` int(11) NOT NULL COMMENT 'Une combinaison de réponse, et donc son identifiant de matrice associé, n''accepte qu''une seule solution',
  `fk_id_solution` int(11) DEFAULT NULL COMMENT 'Une matrice de solution peut pointer soit vers une solution, soit vers une étape',
  `fk_id_nextstep` int(11) DEFAULT NULL COMMENT 'Une matrice de solution peut pointer soit vers une solution, soit vers une étape',
  `fk_id_step` int(11) NOT NULL COMMENT 'Une matrice de solution appartient a une étape'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

事实是我已经create这个表一次了,但是我错过了使用id_matrice_solution而不是matrice_solution命名它。 PHPMyAdmin没有让我们使用RENAME TABLE。这就是为什么我放弃它并试图重新创建它。没有成功。我想有一些参考文献仍然存在,可能在information_schema,但我没有找到任何东西。

我肯定错过了什么。

一些帮助会非常好。我对这个问题进行了2个小时的讨论,如果它继续下去,我的大脑也会爆炸,我的电脑也会爆炸;)

编辑:

即使这不起作用:

CREATE TABLE `matrice_solution` (
  `id_matrice_solution` int(11) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

0 个答案:

没有答案