热衷于分享各种干货知识,大家有想看或者想学的可以评论区留言,秉承着“开源知识来源于互联网,回归于互联网”的理念,分享一些日常工作中能用到或者比较重要的内容,希望大家能够喜欢,不足之处请大家多提宝贵地意见,我们一起提升,守住自己的饭碗。
正文开始
问题描述

分析

解决方案
检查 INNODB_STRICT_MODE
SHOW VARIABLES LIKE 'innodb strict mode';
关闭严格模式
set global innodb_strict_mode=off;
也可以在配置文件my.cnf中修改,并重启数据库
在[mysqld]下面新增
innodb_strict_mode=0
总结
什么是 INNODB STRICT MODE?
数据库参数innodb_strict_mode用于设置是否开启严格检查模式,当innodb_strict_mode=ON时,执行创建表(CREATE TABLE)、更改表(ALTER TABLE)和创建索引(CREATE INDEX)等语句时会使用严格模式,若存在错误不会触发警告而是直接抛出错误;当innodb_strict_mode=OFF时则使用非严格模式,遇到错误语法会用默认语法替换。检查源数据库和目标数据库的该参数是否一致至关重要,若不一致可能导致任务失败,建议将其设置为一致,因为开启严格模式时 InnoDB 会严格遵循 SQL 标准,尤其在数据一致性和完整性方面,若发现潜在数据完整性问题会返回错误而非警告,有助于开发人员提前捕获问题以确保数据的高可靠性。
文中的概念来源于互联网,如有侵权,请联系我删除。
欢迎关注公众号:小周的数据库进阶之路,一起交流AI、数据库、中间件和云计算等技术。如果觉得读完本文有收获,可以转发给其他朋友,大家一起学习进步!感兴趣的朋友可以加我微信,拉您进群与业界的大佬们一起交流学习。
文章转载自小周的数据库进阶之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




