gpt4 book ai didi

mysql - 将 1 作为数字保存到 ENUM ('1' ,'0' ) 字段设置值为 0

转载 作者:行者123 更新时间:2023-11-29 06:25:59 24 4
gpt4 key购买 nike

在将 1 作为整数保存到 ENUM('1', '0') 时请注意一些奇怪的事情。该值存储为 0。

UPDATE table SET `somefield` = 1 WHERE `id` = 1;

SELECT id, `somefield` WHERE id = 1;

id, somefield
1, 0

有什么办法可以让它发挥作用吗?我宁愿不修改数据库。

此外,非常感谢任何有关为什么会发生这种情况以及该字段未转换的信息

最佳答案

当您为枚举的更新值提供整数而不是字符串时,它被解释为枚举值的索引,而不是。 p>

像所有 SQL 一样,枚举使用基于 1 的索引,因此对于您的枚举,索引 1 是 '1',索引 2 是 '0'。任何其他都是错误。

这意味着您的更新语句的结果应该是 '1',而不是零,因此要么您的表没有按照您所说的那样定义,要么您的更新语句不像您所说的那样。

查看此 SQLFiddle证明这一点。

关于mysql - 将 1 作为数字保存到 ENUM ('1' ,'0' ) 字段设置值为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30969668/

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