2014-09-15 2 views
0

У меня есть таблица MySql «Фраза»:Mysql INSERT и DELETE

PHRASES 
    phrase 

Вот некоторые примеры фраз:

"The quick brown fo" 
"Eeney Meeney" 

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

Например, если я вставляю «Eeney Meeney Miney Moe», а таблица уже содержит «Eeney Meeney», тогда «Eeney Meeney» будет удален вместе со вставкой, а таблица будет содержать только «Eeney Meeney Miney Moe "

Каков наиболее эффективный способ сделать это? Возможно ли это сделать в чистом SQL?

+0

Я думаю, вы захотите тщательно продумывать свои требования к чему-то подобному, связанному с «частичной версией фраз». Если вы замените «Eeney Meeney» на «Eeney Meeney Miney Moe», можно ли его заменить снова в обратном направлении? будут ли фразы типа «а» заменить что-либо содержащее строку «а» только «а»? – Kritner

ответ

0

Вы можете использовать триггеры для достижения результата.

Вставить триггер, вы можете проверить фразы и удалить, которые когда-либо совпадают.

0

С помощью транзакции вы можете применить обновление, а если оно не существует, используйте вставку.

Смежные вопросы