まず条件が必要。
(1)idがint not nullでprimaryもしくはuniqueでauto_incrementであること
(2)tag,entryの組合せがuniqueであること
insertでデータを流し込み、条件に合致しないデータをdeleteすると効率的です。
insert ignore into tag_table (tag,entry) values('foo',1),('bar',1);
delete from tag_table where entry=1 and not(tag IN ('foo','bar'));
やっていることは全部消して、新規で投入するのとさほど変わりませんが
上記のようにやると登録済みのデータに対して最小限の更新にとどめられる分
無駄が減ります。(idに余計な付番がなくなります)
お礼
いつも言葉足らずな質問を的確に答えていただきありがとうございます。 まさに求めていた答えでした。 本当にありがとうございました。 感謝してもしきれません。