从 MySQL ver 8 导出我的数据库时,我看到了这一行,这让我很困惑。
它用于虚拟列/字段
`Rego` varchar(12) GENERATED ALWAYS AS (concat(`Call_Sign`,_utf8mb4' ',`Vehicle`)) VIRTUAL,
具体来说, concat 里面的这个Call_Sign
“_utf8mb4”是什么 ?
从 MySQL ver 8 导出我的数据库时,我看到了这一行,这让我很困惑。
它用于虚拟列/字段
`Rego` varchar(12) GENERATED ALWAYS AS (concat(`Call_Sign`,_utf8mb4' ',`Vehicle`)) VIRTUAL,
具体来说, concat 里面的这个Call_Sign
“_utf8mb4”是什么 ?
当我将新的架构更改从 MariaDB 转移到 MySQL 时,它基本可以正常工作。有时我必须摆弄一下。
但我的主要问题是,当我备份 MySQL 架构和数据并尝试将其恢复到我的 PC 时,我已经放弃了。这需要太多更改。许多问题与字符集有关。
我能做些什么让 #2 变得更容易?也许是一些关于在 MySQL 上应避免什么的规则。
我在 Amazon EC2 Windows 上安装了 MySQL,运行 REST 服务器。在长时间不活动后,MySQL 似乎会终止连接。我正在使用 Delphi 和 FireDAC。我在日志中收到此错误
conFD:TFDPhysMySQLConnection:。MySQL 服务器已消失 [errno=2006,sqlstate="HY000"]
从谷歌搜索来看,这个时间似乎是 8 小时。我可以增加这个时间,但最终假期还是会这样(也许)。
这是唯一正在运行的 MySQL 任务,因此我不需要节省资源。还有其他解决方法吗?
我只想将查询记录到一个表中。
我发现这些
SET GLOBAL log_output = "FILE"; which is set by default.
SET GLOBAL general_log_file = "/path/to/your/logfile.log";
SET GLOBAL general_log = 'ON';
但是这会记录所有查询。
SO 上存在一些问题,但它们是关于总体记录的。
我一直将应用程序选项存储为Windows 上的Ini文件,因为它比数据库访问速度更快。此外,有时您需要在访问数据库之前读取其中一些选项。
缺点是,如果您备份数据库,它将缺少选项。
我可以救他们
我正在考虑将它们作为 JSON 数组存储在一个字段中。这样做有什么缺点吗?
我认为应用程序用什么编写并不重要,因为我可以实现任何合理的东西。Delphi 不仅内置了 JSON(和 INI)库,我还有自己的超快 JSON(和 INI)处理库。MariaDB 也支持 JSON。
该应用程序是用 Delphi (Pascal) 编写的,针对 Windows 进行了编译。但套件的某些部分可能用 PHP 编写(稍后)。
我一直将用户访问权限作为代码中的一组(位)并将其存储为几个大整数(取决于我需要多少个)。
这些权利包括:
所以,它们不仅仅与数据库相关。
我发现我可以将其存储为 JSON 描述数组,但这可能会变得相当大(并且可能很慢)。我可以为每个描述使用 4 个字母的首字母缩写。
是否有第三种方法可以做到这一点,以尽量减少代码的冗长程度。
苹果主动阻止了手机/账户的身份识别。我的应用要运行,需要存储一些注册信息。我本来打算把这些信息存储在IndexDB中。IndexDB 只是个例子,因为它是一种新的方式。我以前用过 sql-lite,我不介意它存储在哪里。
如果用户尚未登录(因此不会刷新),我正在寻找官方信息,以了解手机将保留此信息多长时间。
我的问题涉及存储两个事物的标识符
我创建了一个数据库,其中表的一个字段定义为enum('M', 'B')
。我使用的工具将其转换为变体类型。我想覆盖它并将其视为字符。那么问题是,它是否作为字符存储在数据库中?