Вставка SQL в таблицу, только если запись не существует [дубликат]

На этот вопрос уже есть ответ здесь:

Проверьте, существует ли строка, в противном случае вставьте 11 ответовMySQL Условная Вставка 12 ответов

Я хочу запустить набор запросов, чтобы вставить некоторые данные в таблицу SQL, но только если встречаются записи, удовлетворяющие определенным критериям. Таблица имеет 4 поля:id (Первичный),fund_id, date а такжеprice

У меня есть 3 поля в запросе:fund_id, date а такжеprice.

Так что мой запрос будет выглядеть примерно так:

INSERT INTO funds (fund_id, date, price)
    VALUES (23, '2013-02-12', 22.43)
    WHERE NOT EXISTS (
       SELECT * 
       FROM funds 
       WHERE fund_id = 23
         AND date = '2013-02-12'
    );

Поэтому я хочу вставить данные, только если запись соответствуетfund_id а такжеdate не существует Если вышеприведенное верно, это кажется мне совершенно неэффективным способом достижения этой цели, поскольку каждый раз нужно запускать дополнительный оператор выбора.

Есть ли лучший способ достижения вышеуказанного?

Изменить: для уточнения ниfund_id ниdate являются уникальными полями; Существуют записи с одинаковым идентификатором или идентификатором fund_id, но ни одна из записей не должна иметь одинаковый идентификатор и дату fund_id.

Ответы на вопрос(1)

Ваш ответ на вопрос