MySQL更新查询不适用于数据库中的某些特定行

时间:2019-01-28 08:57:27

标签: mysql database

我使用MYSQL UPDATE查询在数据库上运行了一个查询,该查询工作正常,但后来发现某些行拒绝更新。例如,我运行了以下代码:

Update `user_table` SET `user`='king', `parent`='Joe' WHERE `userid`='456';

现在这是我运行的代码,它可以正常工作,但是问题是我不想只更新userid 456行的列user和parent,我也想对其他行也这样做。因此,我将再次运行代码,仅更改具有userid的列user和parent的值。举例来说

Update `user_table` SET `user`='Paul', `parent`='Brown' WHERE `userid`='200';

但是这次代码运行没有错误,但是没有更新预期的行。 请问是什么原因,我该如何解决。该查询对许多行都运行良好,但是我注意到有些行拒绝更新,比方说,在20行中,更新的两(2)行没有更新,谢谢您的提前答复。

1 个答案:

答案 0 :(得分:0)

假设您的表格看起来像这样

DROP TABLE IF EXISTS USER_TABLE;
create table user_table
(userid int, user varchar(10),parent varchar(10));

您的数据看起来像这样

insert into user_table values
(456,null,null),
(200,null,null);

那么更新应该没有问题

Update `user_table` SET `user`='king', `parent`='Joe' WHERE `userid`='456';
Update `user_table` SET `user`='Paul', `parent`='Brown' WHERE `userid`='200';

select * from user_table;

+--------+------+--------+
| userid | user | parent |
+--------+------+--------+
|    456 | king | Joe    |
|    200 | Paul | Brown  |
+--------+------+--------+
2 rows in set (0.00 sec)

您在问题中没有给我足够的信息,无法建议您可能在哪里出现问题,这就是为什么您应该在问题中以表格形式提供表定义和示例数据。