Мне нужно чтобы при создании новой строки в таблице users,проверялось условие: Если у нового пользователя в столбце 'ref_use' есть какая-то цифра(id участника,который пригласил этого нового пользователя),то проверялся весь список пользователей и тому пользователю,id которого равен этому 'ref_use' в столбец 'referals' прибавлялась единица(т.е. счетчик).И у скольких человек в таблице в столбце 'ref_use',стоит id этого человека,такое число было написано в столбце referals
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(256) NOT NULL,
`avatar` varchar(256) NOT NULL,
`money` int(255) NOT NULL,
`ref_percent` int(255) NOT NULL DEFAULT '15',
`referals` int(11) DEFAULT NULL,
`zarabotok` int(11) DEFAULT NULL,
`login` varchar(256) NOT NULL,
`login2` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`is_admin` int(11) NOT NULL,
`is_yt` int(11) NOT NULL,
`ref_use` int(11) DEFAULT NULL,
`profit` int(11) NOT NULL,
`opened` int(11) NOT NULL,
`ref_link` varchar(256) DEFAULT 'none',
`deposit` int(11) NOT NULL,
`bonus_money` int(11) NOT NULL,
`remember_token` varchar(100) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT '2016-11-08 21:32:40',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
Используйте триггер. Как вариант, можете использовать этот (работоспособность не проверял, под рукой нет БД):
CREATE TRIGGER testref BEFORE INSERT ON users
FOR EACH ROW
BEGIN
if ref_use is not null
then UPDATE users SET referals = referals + 1 WHERE id = new.ref_use;
end if;
END;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Должно показывать 0 сообщений, а показывает 6, хотя у всех сообщений флаг read = 1, тоесть они прочтеныВ чем беда?)
Имеется Таблица My_TABLE, поля street(LONGTEXT),house(LONGTEXT), пытаюсь в этой ж таблице создать столбец address на основе 2х вышеперечисленныхНо не выходит