我想設置一個圖像作爲相冊的封面,我通過從do-while循環中的無線電輸入中選擇它來完成。我在圖像表中放置了一個名爲is_cover的字段,如果圖像設置爲封面,則該字段取1;否則取0。MySQL高級更新查詢
<input type="radio" name="cover" value="<?php echo $row_images['image_id']; ?>" <?php if($row_images['is_cover'] == 1){ echo "checked=\"checked\""; } ?> />
我的問題是如何執行,設置is_cover字段設置爲0,只選擇了圖像獲取的值的所有圖像的更新查詢1.
什麼,我想說的是,我怎麼能實現這一點:
$is_cover = $_POST['cover'];
$query = "
UPDATE images
SET is_cover = 1
WHERE image_id = {$is_cover}
AND SET is_cover = 0
WHERE image_id <> {$is_cover}
";
謝謝!我已經測試過它,它似乎起作用! – Lykos
很酷的解決方案。我不知道該怎麼做。這對兩個查詢有什麼好處?數據的完整性?效率? –
@AndyGroff這是一個單一的查詢,在這種情況下,對兩個簡單的查詢來說不是一個巨大的好處,但是你可以用case語句做更多的事情。 – Fluffeh