我在尝试使用内置“移动列”功能时遇到phpmyadmin(4.5.3.1,Ubuntu 14.04 + MariaDb 10.0.23)的问题。
我的数据库是“UTF8
”和“COLLATE utf8_swedish_ci
”。
尝试移动varchar列会引发此错误:
“#1064 - 您的SQL语法出错;请查看手册 对应于您的MariaDB服务器版本,以获得正确的语法 靠近'= utf8 COLLATE utf8_swedish_ci在'Stam`'之后的NULL DEFAULT NULL 第1行“
似乎phpmyadmin没有创建正确的查询语法“DEFAULT CHARACTER SET 'utf8' ".
我可以通过任何方式更正生成的SQL查询吗?
新信息:
我正在尝试在我的表中移动一些列(使用phpmyadmin的内置功能)。最大的问题是,此错误还会停止使用“结构”选项卡中的按钮添加新列/更改列。 问题似乎是phpmyadmin自动生成的“CHARSET = utf8”语法;删除“=”(... CHARSET utf8 ...)后运行相同的查询就可以了。
例如: phpmyadmin生成的此查询失败:
ALTER TABLE lepidoptera0
ADD underavdelning
VARCHAR(40)CHARSET = utf8 COLLATE utf8_swedish_ci avdelning
之后的NULL DEFAULT NULL;
更改后的版本(减去“=”)即可:
ALTER TABLE lepidoptera0
ADD underavdelning
VARCHAR(40)CHARSET utf8 COLLATE utf8_swedish_ci NULL avdelning
之后的默认空值;
答案 0 :(得分:3)
这是在phpmyadmin的最新版本中引入的错误。它将在下一个版本(4.5.4)中修复。您可以通过从github仓库(https://github.com/phpmyadmin/phpmyadmin/tree/QA_4_5)下载它来测试此版本。