gpt4 book ai didi

mysql - 空字符串插入零,而不是 null

转载 作者:可可西里 更新时间:2023-11-01 06:27:38 34 4
gpt4 key购买 nike

我的插入语句如下所示:

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

bar 字段是这样创建的:

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

MySQL 版本:5.1。

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

最佳答案

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

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

关于mysql - 空字符串插入零,而不是 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6918164/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com