无法使用PHPMyAdmin删除行

无法使用PHPMyAdmin删除行,phpmyadmin,Phpmyadmin,我在Mac上使用PHPMyAdmin 4.6.0(当前稳定版)来管理MySQL表。我创建了一个具有以下架构的表: CREATE TABLE `table1` ( `id` int(11) NOT NULL, `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, `table2id` int(11) NOT NULL, `col2` float DEFAULT NULL, `col3` float DEFAULT NU

我在Mac上使用PHPMyAdmin 4.6.0(当前稳定版)来管理MySQL表。我创建了一个具有以下架构的表:

CREATE TABLE `table1` (
  `id` int(11) NOT NULL,
  `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
  `table2id` int(11) NOT NULL,
  `col2` float DEFAULT NULL,
  `col3` float DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

ALTER TABLE `table1`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_table1_table2` (`table2id`);

ALTER TABLE `table1`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
CREATE TABLE `table3` (
  `id` int(11) NOT NULL,
  `name` varchar(70) COLLATE utf8_unicode_ci DEFAULT NULL,
  `shortname` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

ALTER TABLE `table3`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `table3`
   MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
查看表1中的数据时,我使用左侧的复选框选择一些行,然后按表下方的delete link。我被重定向到另一个页面,显示要执行的以下SQL查询:

DELETE FROM `table1` WHERE ;
DELETE FROM `table1` WHERE ;
DELETE FROM `table1` WHERE ;
请注意,此处缺少数据集的ID,导致查询失败。如果我在一行内按“删除”按钮,也会发生类似的情况。此时会出现一个模式,显示以下输出:

Do you really want to execute "DELETE FROM `table1` WHERE LIMIT 1"?
请注意,
WHERE
子句在此也缺失。但是,它可以处理另一个数据库中的不同表,甚至是同一数据库中的另一个表。例如,另一个表具有以下架构:

CREATE TABLE `table1` (
  `id` int(11) NOT NULL,
  `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
  `table2id` int(11) NOT NULL,
  `col2` float DEFAULT NULL,
  `col3` float DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

ALTER TABLE `table1`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_table1_table2` (`table2id`);

ALTER TABLE `table1`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
CREATE TABLE `table3` (
  `id` int(11) NOT NULL,
  `name` varchar(70) COLLATE utf8_unicode_ci DEFAULT NULL,
  `shortname` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

ALTER TABLE `table3`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `table3`
   MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

事实上,我看不出有什么区别会导致PHPMyAdmin的这种行为。有什么想法吗?

更新-phpMyAdmin 4.6.6修复了这个错误

原职

我可以在我的环境中重现错误,但不能在demo.phpmyadmin.net上重现。如果InnoDB或MyISAM表名在如下所示的任何位置有任何大写字符,则可能存在此问题。我在Mac上的XAMPP上运行phpMyAdmin版本4.5.2、10.1.19——MariaDB——源代码分发,PHP版本5.6.28

CREATE TABLE `MyTable1` (
  `id` int(11) NOT NULL,
  `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
  `table2id` int(11) NOT NULL,
  `col2` float DEFAULT NULL,
  `col3` float DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

ALTER TABLE `MyTable1`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_MyTable1_table2` (`table2id`);

ALTER TABLE `MyTable1`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
您可能在_delete上设置了外键约束
。因此,转到结构选项卡并单击关系视图。在那里,您可以找到外键约束。将删除时的选项更改为无操作


它可能会起作用。

我无法重现这个问题。你能在演示服务器上复制它吗?如果将该表复制到另一个数据库,问题是否仍然存在?如果您先导出,然后再导入(或复制并粘贴SQL)到新数据库(而不是从“操作”选项卡复制),这是否有帮助?此外,您可以尝试清除浏览器缓存。这是新安装的还是从以前的phpMyAdmin版本升级的?我有同样的问题,phpMyAdmin的最新版本是干净的