Php Mysql更新多行数据
我想知道如何使用Php Mysql更新多行数据,php,mysql,Php,Mysql,我想知道如何使用update语句高效地更新多行数据。我知道我可以像下面这样插入多个记录 INSERT INTO example (example_id, name, value, other_value) VALUES (100, 'Name 1', 'Value 1', 'Other 1'), (101, 'Name 2', 'Value 2', 'Other 2'), (102, 'Name 3', 'Value 3', 'Other 3'), (103, 'Name 4
update
语句高效地更新多行数据。我知道我可以像下面这样插入多个记录
INSERT INTO example
(example_id, name, value, other_value)
VALUES
(100, 'Name 1', 'Value 1', 'Other 1'),
(101, 'Name 2', 'Value 2', 'Other 2'),
(102, 'Name 3', 'Value 3', 'Other 3'),
(103, 'Name 4', 'Value 4', 'Other 4');
但是它在Update中是如何工作的,或者如果我必须循环查询并逐个更新
目前,我必须使用foreach
循环并更新每个SQL
语句
foreach() {
// update statement....
// and execute the query
}
)
for($i=0;$i
您可以在需要更新时使用case
例如:
UPDATE users
SET value = CASE
WHEN id in (1,4) THEN 53
WHEN id = 2 THEN 65
WHEN id in (3,5) THEN 47
END
WHERE id IN (1,2,3,4,5)
请参阅此文档并了解更多信息。您还可以在MYSQL中使用CASE: 例: 您可以看到另一个例子,在这个例子中,有一个表
Person
,并且错误地输入了Gender
。因此,您需要通过更新男性对女性
和女性对男性
来纠正这些错误
下面是您的代码:
UPDATE Person
SET Gender= CASE
WHEN gender= 'Male' THEN 'Female'
WHEN gender= 'Female' THEN 'Male'
ELSE gender
END
只需使用
WHERE
条款更新多行可能比插入短得多,但如果没有提供适当的条件,则同时会非常危险。你想解决的问题是什么?你能把它加到问题上吗?希望是一些样本数据和一些条件?你想在每个数据中使用不同的值,还是用相同的值更新?vinodadhikary谢谢是的,有条件。我已将身份证附加到it@AlphaRootMks是的,不同的值,这是插入RPM,我要更新。感谢任何方式和这不是有效的,看看我的插入above@bluebill1049查看我的更新——我已经编写了一个伪查询,向您展示了如何执行该操作;谢谢RPM,无论如何给你一个“放弃”的回答@Pra答案就是我想要的。很好,这就是我想要的。
UPDATE users
SET value = CASE
WHEN id in (1,4) THEN 53
WHEN id = 2 THEN 65
WHEN id in (3,5) THEN 47
END
WHERE id IN (1,2,3,4,5)
UPDATE example
SET example_id = CASE
WHEN example_id=100 THEN 1000
WHEN example_id=101 THEN 1001
WHEN example_id=102 THEN 1002
ELSE example_id*10
END
UPDATE Person
SET Gender= CASE
WHEN gender= 'Male' THEN 'Female'
WHEN gender= 'Female' THEN 'Male'
ELSE gender
END