【问题标题】:SQL Update Bug (Value not updated after it said that it is)SQL 更新错误(表示已更新后的值未更新)
【发布时间】:2017-11-02 20:59:55
【问题描述】:

我在我的 sql 数据库中运行了以下内容:

update table1 SET car_color_code="red metalic" where car_model="335i";

它说:

查询正常,1 行受影响(0.06 秒)匹配行:1 更改:1 警告:0

但是,我没有看到表格中的变化 表格如下所示:

------------------------------------------------
| ID | model | manufacturer | car_color_code   |
|  1 | 335i  | BMW          | NULL             |
------------------------------------------------

所以之前的 null 应该替换为“red metalic”,但它保持为 NULL。

但是,当我尝试再次插入时,它会说:

匹配行:1 更改:0 警告:0

当我再次尝试选择时,我仍然看不到 car_color_code 列的变化...

我的表描述是

+------------------+--------------+------+-----+---------+----------------+
| Field            | Type         | Null | Key | Default | Extra          |
+------------------+--------------+------+-----+---------+----------------+
| ID               | int(11)      | NO   | PRI | NULL    | auto_increment |
| model            | varchar(255) | NO   |     | NULL    |                |
| manufacturer     | varchar(255) | NO   |     | NULL    |                |
| car_color_code   | varchar(255) | NO   |     | NULL    |                |
+------------------+--------------+------+-----+---------+----------------+

【问题讨论】:

  • 桌面上有触发器吗?这属于“怪异行为”类别
  • 您的列如何不可为空但默认为NULL
  • @Salman 仍然为 NULL :'(
  • @AaronDietz 之后会修复它,但这不是问题
  • @Salman 是的,在删除表并重做所有工作后,它终于可以工作了

标签: mysql sql database null sql-update


【解决方案1】:

您可能忘记了commit。有可能是你退出了 MySQL 服务器,重新登录后尝试了 select 语句。

确保您在更新后commit

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    相关资源
    最近更新 更多