Все привет!
Задача: при добавлении новой строки надо чтобы автоматически заполнялось указанное поле значением из auto_increment поля.
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
)
Триггер должен быть таким
CREATE TRIGGER `name_default` BEFORE INSERT ON `users`
FOR EACH ROW IF ISNULL(NEW.name) THEN
SET NEW.name = CONCAT('Player', NEW.id);
END IF
Но:
- в before insert NEW.id еще не известно;
- в after insert внести изменения в новую строку нельзя;
- LAST_INSERT_ID() всегда возвращает 0;
- получение LAST_INSERT_ID из информационной схемы ни к чему не приводит;
Все комментарии в интернете на эту тему 2007-2014 года.
Вдруг сейчас есть способ решить мою задачу.
Спасибо за ответы!