[英]PHP/MySQL : UPDATE multiples values with multiples WHERE
我遇到的問題是具有7種類型的值的策略瀏覽器游戲。 問題如下:
$_POST
獲得了7個不同的值,從索引unit_1到包含索引unit_7。 這7個值的INTEGERS在0到20之間,並且不是靜態的。 他們可以在頁面的每次調用中使用。 它們代表發送的單位數。 "nameUnit" = "Soldier"
&& nbUnit = "0"
, "nameUnit" = "Mage"
&& nbUnit = "5"
等。 我想做的例子:
UPDATE x SET nbUnit = $_POST['u1'] WHERE nameUnit = "Soldier", nbUnit = $_POST['u2'] WHERE nameUnit = "Mage" [...]
可以這樣做嗎,並且可以在單個查詢中完成?
在您的情況下這項工作
UPDATE x
SET nbUnit = $_POST['u1']
WHERE (nameUnit = "Soldier" AND nbUnit = $_POST['u2']) OR
(nameUnit = "Mage" AND nbUnit= $_POST['u5'])
在PL SQL中,您可以執行以下操作:
UPDATE x SET nbUnit = case when nameUnit = "Soldier" then $_POST['u1']
when nameUnit = "Mage" then $_POST['u2'] else nbUnit end;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.