我在这里遇到了一个奇怪的问题。
我在 docker
容器中使用 django
。当系统尝试保存一些记录时(大部分都有效!),它们最终不会出现在数据库中。
当我在调试器中查看进程时,django 对象被保存,它从数据库中获取一个 ID,在 django 世界中一切似乎都很好。
但记录从未出现在数据库中!甚至更奇怪:如果我查看表的元选项,我会看到每条本应创建的记录 AutoIncrement
都会增加。所以看起来数据库知道这些记录但决定不保存它们...
我在我的 Windows 机器上试过了,服务器运行的是 UNIX,两者都有同样的问题。
我正在使用 django==2.0.9
和 mysqlclient==1.3.13
连接到 MariaDB
。
当我将表引擎从 InnoDB
切换到 MyISAM
时,它就可以工作了。
它可重复发生在 django-axes
表中,但我在系统的其他部分也遇到过这个问题。调用来自 django-restframework
到 django。
坦率地说,我不知道从哪里开始寻找问题。
在 Windows 和(服务器的)UNIX 上它发生,在另一个开发者的 UNIX 上它工作
我降级了最新的
mysqlclient
,没有效果Google 什么也没说,或者我没有问正确的问题
MySQL错误日志保持沉默。
我还尝试了最新的
MariaDB
图片10.3
。
最佳答案
好吧,在没有找到我能做些什么的情况下,我将这些显式表的数据库引擎切换为 MyISAM
,现在它可以工作了。 super 奇怪。
关于mysql - django - 记录未保存在 MySQL 数据库中但自动增量增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52721687/