[英]update multiple rows by one mysql query
i'm trying to update multiple rows by one mysql update query.this is my code.but it didn't work.it display error.i'm trying to update start and end field in mysql table 我试图通过一个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");
Your update command is not correct in addition you have column name end
which is reserved. 您的更新命令不正确,此外您还有保留的列名
end
。 You need to backtick it. 你需要反击它。 You have used
set
2 times but in update statement you need only once as 你已经使用了
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.