Mysql - вставка на основе другой таблицы, где условие - ON DUPLICATE KEY UPDATE - PullRequest
1 голос
/ 17 апреля 2011

ОБНОВЛЕНИЕ

Я нашел ответ и указал ниже

Дорогие все,

Я хочу вставить вТаблица 1) На основе условия другой таблицы 2) и использования ON DUPLICATE KEY UPDATE для первой таблицы.

Следующий запрос, который я написал, является синтаксически неправильным.Не могли бы вы помочь мне в правильном запросе для этого?

INSERT INTO my_all_count (type,code,count) values ( 0,1,1) 
ON DUPLICATE KEY UPDATE count = count + 1 
WHERE NOT EXISTS ( 
  select 1 from my_reg_count 
  where country_code=CurrCountry and type=0 and code=0);

здесь 1) Я хочу вставить в таблицу my_all_count 2) тип, код является ключом, и если он существует, увеличивается округ на 1 3) Вставитьтолько когда его нет в my_reg_count

Спасибо за вашу помощь

С уважением

Киран

Ответы [ 2 ]

2 голосов
/ 17 апреля 2011

Я нашел решение и вот ответ

INSERT INTO my_all_count (type,code,count) 
    select 0,0,1 from dual WHERE NOT EXISTS ( 
         select * from my_reg_count where country_code=CurrCountry 
          and type=0 and code=0) ON DUPLICATE KEY UPDATE count = count + 1;
1 голос
/ 17 апреля 2011

Не уверен, что это будет работать, но я am уверен, что предложение ON DUPLICATE KEY должно быть после предложения WHERE:

INSERT INTO my_all_count (type,code,count) values (0,1,1) 
WHERE NOT EXISTS ( 
  select 1 from my_reg_count 
  where country_code=CurrCountry and type=0 and code=0)
ON DUPLICATE KEY UPDATE count = count + 1; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...