虚拟机上的 MariaDB 自动编号

MariaDB auto number on virtual machine

我在 MariaDB 中有一个数据库 运行ning。我对主键使用自动编号,在我的本地开发系统上一切都按预期工作。

在客户端系统上安装了相同的数据库和系统,在这种情况下,客户端选择运行安装在虚拟机运行宁Windows服务器上。

这个系统已经工作了几个星期,在过去的几天里出现了一些奇怪的问题,今天我试图编辑一个现有的记录,而不是更新一个主键为 0 的新记录已添加到数据库中,因此自动增量无法可靠地工作。

怎么会这样?什么会导致它?

我会检查并修复数据库。

自动递增仅在您插入且未提供任何值(针对该属性)时启动。所以你仍然可以手动更新它。我会说自动增量没有失败。

已修复,两个不同系统上的相同数据库,相同版本的 mariadb,但 Windows 的版本略有不同。一个系统上的存储过程发送了 0 而不是 null。在一个系统上,0 被视为 null 并创建了一条新记录,在另一个系统上,0 被解释为数据库 ID,这导致了问题。

我现在确保如果 ID 不大于 0,则发送 null。