Mariadb 如何在Workbench ERP的表格上设置字符集和校对集?

Mariadb 如何在Workbench ERP的表格上设置字符集和校对集?,mariadb,mysql-workbench,collation,Mariadb,Mysql Workbench,Collation,我使用的是学校服务器,所以我们不能添加新的数据库,我们只使用现有的数据库,但我们可以在上面添加表 我想使用丹麦语字符集和排序丹麦语,以便在对名称排序时,它们根据丹麦语字母表检索 如何在Workbench ERP中执行此操作 关于我使用的数据库服务器: 服务器类型:MariaDB 服务器版本:10.5.8-MariaDB-MariaDB服务器 我确实使用以下方法更改了表格: ALTER TABLE Users CONVERT TO CHARACTER SET utf8 COLLATE utf8_d

我使用的是学校服务器,所以我们不能添加新的数据库,我们只使用现有的数据库,但我们可以在上面添加表

我想使用丹麦语字符集和排序丹麦语,以便在对名称排序时,它们根据丹麦语字母表检索

如何在Workbench ERP中执行此操作

关于我使用的数据库服务器: 服务器类型:MariaDB 服务器版本:10.5.8-MariaDB-MariaDB服务器

我确实使用以下方法更改了表格:

ALTER TABLE Users CONVERT TO CHARACTER SET utf8 COLLATE utf8_danish_ci;
这很有效

但是如何在Workbench ERP上设置它,以便在执行正向工程后不必每次更新所有表?

我尝试更改每个表:

但即使我保存,排序规则也会返回utf8_bin

这段视频解释了什么:

在我的例子中没有默认的排序规则变量

我也在PHP上尝试过:

$this->dbh = new PDO("mysql:host=$this->host;dbname=$this->dbname", $this->username, $this->password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8' SET COLLATION 'utf8_danish_ci'"));
但是我得到了一个错误:

SQLSTATE[42000] [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SET COLLATION 'utf8_danish_ci' at line 1
如何在Workbench ERP或PDO上设置字符集和排序规则,以便在执行正向工程后不必每次更新所有表?请参阅

语法应为:

SET NAMES 'utf8' COLLATE 'utf8_danish_ci'

我有点困惑。我认为“MySQL工作台”不能与mariaDB数据库一起工作。也许这就是你的问题@严格来说,任何MySQL客户端都应该能够连接到MariaDB服务器。他们有兼容的协议,至少在当前的版本中是这样。嗨@BillKarwin,当我试图将MySQL Workbench连接到一个mariaDB引擎时,我收到了一个关于一些功能不起作用的警告。这只是一个警告,但是,我是不是太认真了?@RiggsFolly MySQL和MariaDB确实都有一些功能,而另一个没有,而且自2010年MariaDB分岔以来,分歧正在逐渐增加。有些SQL查询的行为不一样,有些内置函数不同,等等,但协议是相同的。如果你把自己局限于基本的查询,那就没问题了。但显然MySQL Workbench至少可以连接到MariaDB。谢谢@BillKarwin strangley,今天,我安装了DBeaver,这样我就可以从一个工具同时访问这两个工具,可能不需要麻烦:)