我正在尝试在PDO中更新多行。我的表脚本包含 id,样式和链接列,如下所示:
id style link
1 Normalize http://cdnjs.cloudflare.com/ajax/libs/normalize/2.1.0/normalize.css
2 Bootstap http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap.css
我需要为Normalize和Bootstrap保存两个不同的链接,但是当我使用这种结构时,解释器返回错误。我怎样才能做到这一点?我想要改变第一个链接,或者第二个或两者一起或分别改变。
我的sql:
$connect = new Database();
$connect->query("UPDATE scripts SET link :normalize WHERE style = 'Normalize' AND SET link :bootstrap WHERE style = 'Bootstrap'");
$connect->bind(':normalize', $_POST['normalize']);
$connect->bind(':bootstrap', $_POST['bootstrap']);
$connect->execute();
答案 0 :(得分:1)
试试这个:
UPDATE scripts SET link = CASE
WHEN style= 'Normalize' THEN :normalize
WHEN style= 'Bootstrap' THEN :bootstrap
ELSE link
END;
答案 1 :(得分:0)
我不认为你尝试做的事情是可能的。如果要使用多个条件更新行,则需要多个查询。