2012-05-25 4 views
1

У меня есть база данных, содержащая контактную информацию участника для исследований: homePhone, altPhone и электронная почта.Автоматически удалять строку, если определенные столбцы пусты?

Мы проверяем участников в базе данных и выходим из нее, сохраняя таблицу журналов. Каждый раз, когда участники проверяются обратно навалом, я запускаю его через приложение Java, которое я написал, которое также может обновлять/удалять контактную информацию, если это необходимо.

Когда участник имеет 0 из 3-х контактных данных, бесполезно хранить их в базе данных. Вместо того, чтобы выполнять проверку в моей программе Java, есть ли способ, чтобы база данных (работающая на MySQL) выполнялась автоматически? Я попытался создать триггер, который проверяет 3 столбца в UPDATE, но я читал в Интернете, что вы не можете изменить таблицу, с которой связан триггер?

Я знаю, что я мог бы просто запустить:

DELETE FROM participants WHERE homePhone=0 AND altPhone=0 AND email='' 

Но я хочу, чтобы база данных, чтобы сделать это автоматически. Я не слишком большой гуру базы данных, поэтому, если у кого-то есть понимание, это было бы здорово. В худшем случае будет реализована вышеприведенная строка SQL в конце моей программы Java.

+0

худшем случае поставить эту строку в Java да, лучший сценарий, чтобы обновить приложение Java с проверкой состояния! – YesMan85

+0

Почему бы вам просто не создать новый триггер? – mattytommo

+0

Я попытался написать триггер, но где-то я читал, что вы не можете изменить таблицу, к которой относится триггер? – LeoPardus

ответ

1

Вы можете поместить этот запрос в trigger, которые вызываются в каждом операторе INSERT INTO или UPDATE.

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