Задать вопрос
@lucsieus
начинающий самурай

MySQL как вставить запись если не существует в таблице?

MySQL как вставить запись если не существует в таблице?
Мой код, прошу найдите ошибку. В запросах MySQL все ок, но через pdo как то не идет. В чем моя ошибка?
$sth = $dbh->prepare("SELECT COUNT(`id_operator`) FROM `operators`");
$sth->execute();
$count = $sth->fetchAll(PDO::FETCH_ASSOC);
$id = $count['0']['COUNT(`id_operator`)'] + 1;

$sth = $dbh->prepare("INSERT INTO operators (id_operator, name_operator) 
SELECT * FROM (SELECT `id_operator` =:id_operator, `name_operator` =:name_operator) AS tmp 
WHERE NOT EXISTS( 
SELECT name_operator FROM operators WHERE name_operator =:name_operator
) LIMIT 1");
$sth->execute(array(
    'id_operator'    => 25,
    'name_operator'  => 'Ернат'));
  • Вопрос задан
  • 1806 просмотров
Подписаться 1 Простой 4 комментария
Ответ пользователя Adamos К ответам на вопрос (2)
Adamos
@Adamos
MySQL как вставить запись если не существует в таблице?

INSERT IGNORE же, без всей этой груды селектов.
Ответ написан