@ElvisP

Как правильно составить запрос MYSQL INSERT INTO и UPDATE одновременно?

Как правильно составить запросы что бы в пустую таблицу изначально записались данные а потом по мере обновления и корректировки базы actor_id - данные обновлялись и добавлялись новые actor_id

$db->query("INSERT INTO `db_extra` SET (`actor_id`, `name`, `rusname`, `mod_f1`, `mod_f2`,`videos`) VALUES ('$model->id', '$model->name', '$model->rusname', '$model->mod_f1', '$model->mod_f2', '$model->videos') 
    ON DUPLICATE KEY UPDATE `db_extra` SET `name` = '$model->name', `rusname` = '$model->rusname', `mod_f1` = '$model->mod_f1', `mod_f2` = '$model->mod_f2', `videos` = '$model->videos' WHERE `actor_id` = 'actor_id'");


Где ошибка в запросе? Помогите исправить.
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
Adamos
@Adamos
INSERT INTO `db_extra`(`actor_id`, `name`, `rusname`, `mod_f1`, `mod_f2`,`videos`) 
VALUES (:model_id, :model_name, :model_rusname, :model_mod_f1, :model_mod_f2, :model_videos)
ON DUPLICATE KEY UPDATE 
`name` = VALUES(`name`), `rusname` = VALUES(`rusname`), `mod_f1` = VALUES(`mod_f1`), `mod_f2` = VALUES(`mod_f2`), `videos` = VALUES(`videos`)

И, разумеется, не напрямую херачить строки в запрос, провоцируя SQL Injection, а использовать подготовленные выражения.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы