2017-03-07 3 views
0
KEY UPDATE DUPLICATE

In mysql,Legen Sie eine Zeile einer Tabelle auf das Ergebnis von INSERT je ... ON

mit
INSERT ... ON DUPLICATE KEY UPDATE 

Es ist möglich, eine Zeile in einer Tabelle einzufügen, oder es nur zu aktualisieren, wenn sie bereits vorhanden ist .

Gibt es eine Möglichkeit, in reinem mysql eine Zeile in einer anderen Tabelle bedingt einzufügen, je nachdem, ob ein Einfügen oder ein Update passiert ist?

Antwort

0
drop PROCEDURE if EXISTS pro; 
create PROCEDURE pro(a int) 
begin 
declare sign int; 
insert into tab1(id) values(a) ON DUPLICATE KEY UPDATE id=id; 
SELECT ROW_COUNT() into sign from dual; 

if (sign=1) then 
select 'yes' from dual; 
else 
select 'no' from dual; 
end if; 

end; 
call pro(8); 
Verwandte Themen