插入零而不是null的空字符串

编程入门 行业动态 更新时间:2024-10-28 06:36:18
本文介绍了插入零而不是null的空字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我的插入语句如下:

INSERT INTO foo (bar) VALUES ('');

bar字段的创建方式如下:

The bar field was created like so:

bar INT(11) COLLATION: (NULL) NULL: YES DEFAULT: (NULL)

MySQL版本:5.1.

MySQL version: 5.1.

一个空字符串不应该插入NULL吗?我不确定为什么表格中会存储零(0).

Shouldn’t an empty string insert a NULL? I’m not sure why I’m seeing a zero (0) being stored in the table.

推荐答案

MySQL默认情况下会尝试将列的无效值强制转换为正确的类型.在这里,空字符串''的类型为string,它既不是整数,也不是NULL.我建议采取以下步骤:

MySQL by default attempts to coerce invalid values for a column to the correct type. Here, the empty string '' is of type string, which is neither an integer nor NULL. I suggest taking the following steps:

  • 将查询更改为以下内容:INSERT INTO foo (bar) VALUES (NULL);
  • 在MySQL中启用严格模式.这样可以防止发生许多意外的类型和值转换.尝试执行MySQL所不希望的操作时,您会看到更多错误消息,这有助于您更快地发现问题.
  • 更多推荐

    插入零而不是null的空字符串

    本文发布于:2023-11-05 19:51:03,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1561687.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:而不是   空字符串   null

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!