MySQL 如何处理非法数据值?
查看完整题解
参考回答
直接回答
看字段类型、约束、SQL 模式和具体语句。严格模式通常将一部分非法或越界值变成错误,非严格或 IGNORE 等路径可能出现警告、截断或替换。
讲清原理
应用在写入前应校验业务值,数据库约束再保底。只看语句返回成功可能漏掉警告,导入时尤其需要检查实际结果。
例子与易错点
用小样本验证日期、超范围整数和非法枚举。导入后检查拒绝行、警告、空值和实际存储内容,不能为减少报错就关闭校验。
在独立演示表观察 IGNORE 如何把越界写入转成警告并存入边界值。
CREATE TABLE limits_demo (v TINYINT);
INSERT IGNORE INTO limits_demo VALUES (128);
SHOW WARNINGS;
SELECT v FROM limits_demo;
相关题 · 第 78 题
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。