Задать вопрос
bigton
@bigton
Web-программист

Как в MariaDB 10.1 в insert триггере использовать значение auto_increment поля?

Все привет!

Задача: при добавлении новой строки надо чтобы автоматически заполнялось указанное поле значением из 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 года.
Вдруг сейчас есть способ решить мою задачу.

Спасибо за ответы!
  • Вопрос задан
  • 22 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы