【发布时间】:2021-06-14 19:50:57
【问题描述】:
我正在使用学校服务器,所以我们不能添加新数据库,我们只使用现有的数据库,但我们可以在上面添加表。
我想使用丹麦语字符集和丹麦语排序规则,以便在排序时根据丹麦字母表检索到的名称。
如何在 Workbench ERP 中执行此操作?
关于我使用的数据库服务器: 服务器类型:MariaDB 服务器版本:10.5.8-MariaDB - MariaDB 服务器
我确实使用这个改变了表格:
ALTER TABLE Users CONVERT TO CHARACTER SET utf8 COLLATE utf8_danish_ci;
这行得通。
但是如何在 Workbench ERP 上进行设置,这样我就不必每次在进行正向工程后都更新所有表?
但即使我保存,排序规则也会返回到 utf8_bin。
以及此视频中的解释: https://www.youtube.com/watch?v=DflA8G5OCtQ&ab_channel=TechBrothersIT
在我的例子中没有 default_collation 变量。
我也在 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 上设置字符集和排序规则,以便在进行正向工程后不必每次都更新所有表?
【问题讨论】:
-
我有点困惑。我不认为“MySQL Workbench”可以与 mariaDB 数据库一起使用。也许这是你的问题!
-
@RiggsFolly,任何 MySQL 客户端都应该能够连接到 MariaDB 服务器。它们具有兼容的协议,至少在当前版本中是这样。
-
嗨@BillKarwin 我收到一条警告,指出在尝试将 MySQL Workbench 连接到 mariaDB 引擎时某些功能不起作用。只是一个警告,但是,我是不是太认真了?
-
@RiggsFolly MySQL和MariaDB确实都有一些其他没有的功能,并且自2010年MariaDB分叉以来,差异逐渐增加。一些SQL查询的行为将不一样,一些内置函数是不同的,等等。但协议是相同的。如果您将自己限制为基本查询,那应该没问题。但显然 MySQL Workbench 至少可以连接到 MariaDB。
-
感谢@BillKarwin strangley,今天,我安装了 DBeaver,这样我就可以从一个工具中同时使用这两个工具,可能不需要费心 :)
标签: mariadb mysql-workbench collation