MySQL TinyInt 值不会更新

Posted

技术标签:

【中文标题】MySQL TinyInt 值不会更新【英文标题】:MySQL TinyInt Value Won't Update 【发布时间】:2013-04-05 22:52:11 【问题描述】:

对于我的生活,我无法让 php 更新 mysql 中的 schdl 字段。它将更新测试查询中的所有其他字段,除了 schdl。

schdl 值当前设置为 1,我正在尝试将其设置为 0 。 schdl 字段的 NULL 选项设置为“No”,该字段的默认值为“0”。

我已采取的步骤: 我可以从 MySQL CLI 成功执行以下命令 UPDATE dispatch SET schdl="0" WHERE servid="12";

但只要我尝试在 PHP 中执行它,查询就会成功返回,但值保持不变。 我试过了: .我在同一个查询中更新了其他值,它们都按预期更新,只有 schdl 保持不变。我到底错过了什么?

php 是否正确提交了 '0' 值,而 mysql 正在奇怪地解释该值并将其设置为 True 或其他什么?

我该如何解决这个问题?

PHP 5.4.3 MySQL 5.5.24

【问题讨论】:

发布你在 php 中尝试过的内容 发布你的php sql查询语句 您确定$servid2 等于12 吗?尝试var_dump 你的$sql2 变量。 再次更新记录中的所有其他值,所以我知道它正在查找记录。 使用mysqliPDO_MySQL 扩展更新...告诉我们您正在使用哪个扩展 【参考方案1】:

尝试代替schdl=\"0\"

schdl=0

【讨论】:

以上是关于MySQL TinyInt 值不会更新的主要内容,如果未能解决你的问题,请参考以下文章

带有 TINYINT 变量的更新语句在 mySQL 中引发错误 [关闭]

MySQL 数据类型

MySQL 数据类型

为啥 MySQL 将布尔值解释为 TINYINT(1) 而不是 BIT(1)?

将 tinyint 默认值更改为 1 mysql

如何将 Postgresql 布尔值转换为 MySQL Tinyint?