簡體   English   中英

PHP / MySQL:用倍數WHERE更新倍數值

[英]PHP/MySQL : UPDATE multiples values with multiples WHERE

我遇到的問題是具有7種類型的值的策略瀏覽器游戲。 問題如下:

  1. 我在$_POST獲得了7個不同的值,從索引unit_1到包含索引unit_7。 這7個值的INTEGERS在0到20之間,並且不是靜態的。 他們可以在頁面的每次調用中使用。 它們代表發送的單位數。
  2. 我在不遵循相同模式的表中得到了7行: "nameUnit" = "Soldier" && nbUnit = "0""nameUnit" = "Mage" && nbUnit = "5"等。
  3. 我需要對1個請求中的單位數進行更新,但是我不知道該怎么做。

我想做的例子:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM