phpmyadmin MariaDb 更改表语法错误

Posted

技术标签:

【中文标题】phpmyadmin MariaDb 更改表语法错误【英文标题】:phpmyadmin MariaDb Alter table syntax error 【发布时间】:2016-04-08 07:47:37 【问题描述】:

在尝试使用内置的“移动列”功能时,我遇到了 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 NULL DEFAULT NULL AFTER `Stam`' 附近 第 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 NULL DEFAULT NULL AFTER avdelning;

修改后的版本(减号“=”)就OK了:

ALTER TABLE lepidoptera0 ADD underavdelning VARCHAR(40) CHARSET utf8 COLLATE utf8_swedish_ci NULL DEFAULT NULL AFTER avdelning;

【问题讨论】:

您要运行的查询是什么? 我也遇到过同样的问题(pma 4.5.3.1 + mysql v5.5.9-1ubuntu4.14)。你找到解决办法了吗? 【参考方案1】:

这是 phpmyadmin 最新版本中引入的一个错误。它将在下一个版本(4.5.4)中修复。你可以通过从他们的 github repo (https://github.com/phpmyadmin/phpmyadmin/tree/QA_4_5) 下载这个版本来测试这个版本。

【讨论】:

以上是关于phpmyadmin MariaDb 更改表语法错误的主要内容,如果未能解决你的问题,请参考以下文章

如何更改语法 SQL 访问 phpmyadmin SQL/SQL 服务器

MySQL - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册以获取正确的语法 - phpMyAdmin

mariadb 程序 phpmyadmin 错误

MySQL or MariaDB 错误解决方法之报错代码1045

MariaDB 涉及服务器版本的语法错误

在CentOS上安装phpMyAdmin