gpt4 book ai didi

mysql - mysqldump --hex-blob 也可以将 DEFAULT 值转储为十六进制吗?

转载 作者:行者123 更新时间:2023-12-05 02:37:28 27 4
gpt4 key购买 nike

我们对 Shopware 6 数据库进行数据库转储。系统将 UUID 存储在二进制 (16) 字段中。

现在当使用 --hex-blob 选项转储数据库时,数据列被正确地写为十六进制 (0x12345....) 但我们看到默认值仍然是二进制数据(请参阅cms_page_version_id)

CREATE TABLE `category` (
`id` binary(16) NOT NULL,
`version_id` binary(16) NOT NULL,
`auto_increment` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` binary(16) DEFAULT NULL,
`parent_version_id` binary(16) DEFAULT NULL,
`media_id` binary(16) DEFAULT NULL,
`cms_page_id` binary(16) DEFAULT NULL,
`cms_page_version_id` binary(16) NOT NULL DEFAULT '^O©^\ãéjK¾KÙÎu,4%',
`product_stream_id` binary(16) DEFAULT NULL,

我们使用这个版本:

$ mysqldump --version
mysqldump Ver 10.19 Distrib 10.3.31-MariaDB, for debian-linux-gnu (x86_64)

mysqldump 是否有一个选项可以将默认值也导出为十六进制?

如果我们编辑转储并用 vi 保存它,二进制数据会被打乱。

最佳答案

mysqldump 没有这样的选项。 --hex-blob 选项仅适用于数据值。

Mysqldump 使用 SHOW CREATE TABLE 获取 CREATE TABLE 语句,这又依赖于 INFORMATION_SCHEMA。

2013 年报告了一个错误,如果值是二进制的并且包含不可打印的字符,则实际上无法从该方法中获取列 DEFAULT 值。 https://bugs.mysql.com/bug.php?id=71172

错误报告已确认,但到目前为止尚未修复。随时使用“影响我”按钮为错误投票。

或者尝试让 MariaDB 自己修复它,而不是上游 MySQL 代码。

关于mysql - mysqldump --hex-blob 也可以将 DEFAULT 值转储为十六进制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69977473/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com