MariaDB shows warnings instead of errors(MariaDB 显示警告而不是错误)
问题描述
MariaDB 版本:10.6.4-MariaDB-1:10.6.4+maria~focal
MariaDB version: 10.6.4-MariaDB-1:10.6.4+maria~focal
SQL:
insert ignore into `step` (is_draft, created_by) values ('1', 2);
收到警告:
MariaDB [kite]> show warningsG
*************************** 1. row ***************************
Level: Warning
Code: 1364
Message: Field 'course_id' doesn't have a default value
*************************** 2. row ***************************
Level: Warning
Code: 1364
Message: Field 'title' doesn't have a default value
*************************** 3. row ***************************
Level: Warning
Code: 1452
Message: Cannot add or update a child row: a foreign key constraint fails (`kite`.`step`, CONSTRAINT `step_ibfk_1` FOREIGN KEY (`course_id`) REFERENCES `course` (`course_id`) ON DELETE CASCADE ON UPDATE CASCADE)
3 rows in set (0.000 sec)
如果约束失败,我预计会出现错误.事实上,它曾经是,但不是现在.如何启用错误而不是警告?
I'm expecting to have an error if a constraint fails. In fact, it used to, but not now. How to enable errors instead of warnings?
在 Google 上搜索 SQL_MODE 并尝试了不同的组合,但没有成功:
Googled about SQL_MODE and tried different combinations, but no luck:
MariaDB [kite]> SELECT @@SQL_MODE, @@GLOBAL.SQL_MODEG
*************************** 1. row ***************************
@@SQL_MODE: STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
@@GLOBAL.SQL_MODE: STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
提前致谢!
更新:看起来问题出在 ignore
关键字中.如果我删除 - 它会按预期工作.
UPDATE: Looks like the problem is in ignore
keyword. If I remove - it works as expected.
推荐答案
如果你想要错误而不是警告,那么不要使用 ignore
.
If you want errors instead of warnings, then don't use ignore
.
https://mariadb.com/kb/en/insert-ignore/ 说:
通过使用 IGNORE
关键字,所有错误都将转换为警告,这不会停止插入其他行.
By using the
IGNORE
keyword all errors are converted to warnings, which will not stop inserts of additional rows.
这篇关于MariaDB 显示警告而不是错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:MariaDB 显示警告而不是错误


- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01
- SQL 临时表问题 2022-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 更改自动增量起始编号? 2021-01-01