簡體   English   中英

通過一個mysql查詢更新多行

[英]update multiple rows by one mysql query

我試圖通過一個mysql更新查詢更新多行。這是我的代碼。但它沒有工作。顯示錯誤。我試圖更新mysql表中的開始和結束字段

$resname=$_POST['resname'];
$rw1start=$_POST['rw1start'];
$rw1end=$_POST['rw1end'];
$rw2start=$_POST['rw2start'];
$rw2end=$_POST['rw2end'];
$rw3start=$_POST['rw3start'];
$rw3end=$_POST['rw3end'];
$rw4start=$_POST['rw4start'];
$rw4end=$_POST['rw4end'];
$rw5start=$_POST['rw5start'];
$rw5end=$_POST['rw5end'];
$rw6start=$_POST['rw6start'];
$rw6end=$_POST['rw6end'];
$rw7start=$_POST['rw7start'];
$rw7end=$_POST['rw7end'];

    $sql="UPDATE opening 
            SET start = (case when day = 'Monday' then '$rw1start'
                             when day = 'Tuesday' then '$rw2start'
                             when day = 'Wednesday' then '$rw3start'
                              when day = 'Thursday' then '$rw4start'
                               when day = 'Friday' then '$rw5start'
                                when day = 'Saturday' then '$rw6start'
                                 when day = 'Sunday' then '$rw7start'
                        end),
            SET end = (case when day = 'Monday' then '$rw1end'
                             when day = 'Tuesday' then '$rw2end'
                             when day = 'Wednesday' then '$rw3end'
                              when day = 'Thursday' then '$rw4end'
                               when day = 'Friday' then '$rw5end'
                                when day = 'Saturday' then '$rw6end'
                                 when day = 'Sunday' then '$rw7end'
                        end)        


                    WHERE (day in 'Monday', 'Tuesday', 'Wednesday','Thursday','Friday','Saturday','Sunday') AND res_name='$resname'";

    $result=mysql_query($sql)or die ("Error");

開幕式

您的更新命令不正確,此外您還有保留的列名end 你需要反擊它。 你已經使用了set 2次,但是在update語句中你只需要一次

update table set col1 = 'someval',col2='someval' 


$sql="UPDATE opening 
SET start = (
               case 
               when day = 'Monday' then '$rw1start'
               when day = 'Tuesday' then '$rw2start'
               when day = 'Wednesday' then '$rw3start'
               when day = 'Thursday' then '$rw4start'
               when day = 'Friday' then '$rw5start'
               when day = 'Saturday' then '$rw6start'
               when day = 'Sunday' then '$rw7start'
               end
             ),
     `end` = (
               case 
               when day = 'Monday' then '$rw1end'
               when day = 'Tuesday' then '$rw2end'
               when day = 'Wednesday' then '$rw3end'
               when day = 'Thursday' then '$rw4end'
               when day = 'Friday' then '$rw5end'
               when day = 'Saturday' then '$rw6end'
               when day = 'Sunday' then '$rw7end'
               end
             ) 
           WHERE day in ('Monday', 'Tuesday',  'Wednesday','Thursday','Friday','Saturday','Sunday') 
           AND res_name='$resname'";       

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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