django - 记录未保存在 MySQL 数据库中,但 AutoIncrement 增加了

django - Records not saved in MySQL database but AutoIncrement gets increased

我遇到了一个奇怪的问题。

我在 docker 容器内使用 django。当系统尝试保存一些记录时(大部分都有效!),它们最终不会出现在数据库中。

当我在调试器中查看进程时,django 对象被保存,它从数据库中获取一个 ID,在 django 世界中一切似乎都很好。

但记录从未出现在数据库中!甚至更奇怪:如果我查看 table 的元选项,我会发现每条本应创建的记录 AutoIncrement 都会增加。所以看起来数据库知道这些记录但决定不保存它们...

我在我的 Windows 机器上试过,服务器运行 UNIX,两者都有同样的问题。

我正在使用 django==2.0.9mysqlclient==1.3.13 连接到 MariaDB

当我将 table 引擎从 InnoDB 切换到 MyISAM 时,它就可以工作了。

django-axes table 中可重复发生,但我在系统的其他部分也遇到过该问题。调用来自 django-restframework 到 django。

坦率地说,我不知道从哪里开始寻找问题。

1) 在 Windows 和(服务器的)UNIX 上它发生,在另一个开发者的 UNIX 上,它工作

2) 我降级了最新的 mysqlclient,没有效果

3) Google 什么也没说或者我没有问正确的问题

4) MySQL 错误日志保持沉默。

5) 我也试了最新的MariaDB图片10.3

感谢任何帮助或想法!

谢谢! 罗恩

好吧,在没有找到我能做些什么的情况下,我将这些显式表的数据库引擎切换为 MyISAM,现在它可以工作了。超级奇怪。