ОБНОВЛЕНИЕ КЛЮЧЕВОГО КЛЮЧА с сохранением некоторых проданных ценностей
Я гуглил полтора часа и не могу прийти к пониманию, как это сделать.
я хочу обновить мою текущую строку, но сохранить значения, которые уже назначены. В настоящее время у меня есть флажок, который либо дает "1" или "0". если флажок возвращает "0", я не хочу, чтобы он обновлял его, так как нет смысла его обновлять. Однако я не знаю, как это сделать.
если я получу col1 как повторяющуюся запись, то он должен обновить col2,3,4,5, если запись еще не заполнена "1" или если переменная, полученная из моей формы, равна "0".
Я мог бы сделать это с большим количеством операторов if, но я бы предпочел не делать этого. и помните, что мой код сейчас очень грязный, потому что я просто пытаюсь найти решение. код будет исправлен, когда я получу желаемый результат. также код написан на mysql, потому что я более знаком с ним и будет портирован на pdo, когда он будет готов. пожалуйста, не говорите мне "не используйте mysql" и не дайте мне ответ. уже достаточно часто
$insert_movie = "INSERT INTO filmer (namn, rel_720p, rel_1080p, rel_dvdr, swesub, addate)
VALUES ('$namn','$rel_720p','$rel_1080p','$rel_dvdr','$swesub',CURRENT_TIMESTAMP)
ON DUPLICATE KEY UPDATE
rel_720p = IF('$rel_720p' IS NOT NULL, '$rel_720p', rel_720p), rel_1080p = IF('$rel_1080p' IS NOT NULL, '$rel_1080p', rel_1080p), rel_dvdr = VALUES(rel_dvdr), swesub = VALUES(swesub)";
$result = mysql_query($insert_movie, $connection) or die (mysql_error());
mysql_close($connection);
фотографии происходящего: первая запись: http://puu.sh/9iN0p/91f0839b8f.png вторая запись: http://puu.sh/9iN2Q/8cafdb5422.png
посмотрите на последний ряд там. от первого изображения ко второму оно должно быть 1,1,1,1, а не 0,1,1,0.
1 ответ
Возможно, не лучшее решение, но мне все равно удалось это сделать:
ON DUPLICATE KEY UPDATE
rel_720p = IF('$rel_720p'=1, 1, rel_720p), rel_1080p = IF('$rel_1080p'=1, 1, rel_1080p), rel_dvdr = IF('$rel_dvdr'=1, 1, rel_dvdr), swesub = IF('$swesub'=1, 1, swesub)";