我使用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)行没有更新,谢谢您的提前答复。
答案 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)
您在问题中没有给我足够的信息,无法建议您可能在哪里出现问题,这就是为什么您应该在问题中以表格形式提供表定义和示例数据。