我永远无法通过phpMyAdmin(版本4.5.5.1)在我的数据库中编辑一行(内联或单击编辑按钮),因为错误“此表不包含唯一列。与网格编辑相关的功能保存后,复选框,编辑,复制和删除链接可能无效。“ SQL显示为具有空的“WHERE”子句。我已经完成并仔细检查过我确实有主键,甚至添加了一个额外的“唯一”键,但我仍然得到错误。
如果我使用phpMyAdmin(版本4.5.3.1)从不同的站点复制来自不同数据库的表,我实际上在这个特定数据库中的每个表上都会出现此错误 HOWEVER )使用导出功能,我可以让它工作!在phpMyAdmin中从头开始创建表时,我是否缺少某些内容?
导出表格结构:
CREATE TABLE 'userAccessLevel' (
'userAccessLevelID' int(11) NOT NULL,
'userAccessLevel' varchar(50) COLLATE utf8_unicode_ci NOT NULL,
'description' text COLLATE utf8_unicode_ci,
'title' varchar(50) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
ALTER TABLE 'userAccessLevel'
ADD PRIMARY KEY ('userAccessLevelID'),
ADD UNIQUE KEY 'userAccessLevelID' ('userAccessLevelID');
ALTER TABLE 'userAccessLevel'
MODIFY 'userAccessLevelID' int(11) NOT NULL AUTO_INCREMENT;
答案 0 :(得分:0)
由于 lower_case_table_names 设置与OS设置冲突(Windows不区分大小写),因此在Windows上这种情况最可能发生,并且最常见。
您可以设置 lower_case_table_names ,但是根据authoritative site:
lower_case_table_names 只能在初始化 服务器。服务器后更改lower_case_table_names设置 禁止初始化。