mysql - sql-mode 硬模式不正确的整数

标签 mysql nginx

我对Incorrect integer value: '' for column 'rank' at row 1有疑问

我知道它与 sql-mode 有关,但是当我转到/etc/mysql 时,我找到的唯一文件是; my.cnf、mysql.cnf 和 my.cnf.fallback 但它似乎不包含任何要编辑的 sql-mode

我可以做什么以及应该在哪里添加 sql-mode?

我在 ubuntu 16.04 上使用 nginx

最佳答案

大概当您尝试导入数据时会发生此错误。它表明您正在尝试将非整数值 '' 导入整数字段。您应该首先查看您的数据和架构设计。如果您确实想将这些错误更改为警告,则必须从默认的 sql-mode 中删除 STRICT_TRANS_TABLES。这意味着您必须在 my.cnf/my.ini 中定义 sql-mode 以包含其他默认模式

sql-mode="ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

将其添加到 cnf/ini[mysqld] 部分后,您需要重新启动服务器。我建议首先备份您的配置文件。您还应该review the documentation ,此处链接了 5.7 版本,以确保这确实是您想要做的。

关于mysql - sql-mode 硬模式不正确的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41501813/

相关文章:

php - 按 id 从数据库中删除行

mysql - 违反完整性约束 : 1048 Column 'class_code' cannot be null

amazon-web-services - 连接()失败(113 : Host is unreachable) while connecting to upstream nginx for aws

http - HTTP 连接和请求之间有什么关系?

http - 我可以在 Nginx 上仅为特定服务器 block (虚拟主机)启用 HTTP/2 吗?

mysql - 谷歌大查询

mysql - 插入新列,增加所有行

nginx - 将 PHP 文件作为下载提供,而不是执行它们

node.js - Nginx + SSL + Rails + Juggernaut (Node.js) + Engineyard

mysql - 部分搜索mysql字段中的破折号值