У меня есть простой карточный стол:
CREATE TABLE `users_individual_cards` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` char(36) NOT NULL,
`individual_card_id` int(11) NOT NULL,
`own` int(10) unsigned NOT NULL,
`want` int(10) unsigned NOT NULL,
`trade` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `user_id` (`user_id`,`individual_card_id`),
KEY `user_id_2` (`user_id`),
KEY `individual_card_id` (`individual_card_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
У меня есть ajax для добавления и удаления записей, основанных на OWN, WANT и TRADE. Однако, если пользователь удаляет все карты OWN, WANT и TRADE, они сбрасываются в ноль, но это оставляет запись в базе данных. Я бы предпочел удалить запись. Проверяется ли после каждого «обновления», чтобы увидеть, все ли столбцы = 0, единственный способ сделать это? Или я могу установить условный триггер что-то вроде:
//psuedo sql
AFTER update IF (OWN = 0, WANT = 0, TRADE = 0) DELETE
Каков наилучший способ сделать это? Можете ли вы помочь с синтаксисом?