Рассчитать нестандартный автоинкремент автоматически - PullRequest
1 голос
/ 08 июля 2010

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

Моей первой мыслью было создание триггера, который произойдет AFTER INSERT, однако, насколько я могу судить, нет простого способа ссылаться на только что вставленную строку.Я мог бы сделать что-то вроде

UPDATE `table` SET `reference_number` = (SELECT ....) WHERE `reference_number` IS NULL

, но поскольку reference_number является PRIMARY KEY, оно не может быть нулевым.(Значит ли это, что это будет пустая строка ''?)

Есть ли лучший способ сделать это?

1 Ответ

1 голос
/ 08 июля 2010
CREATE TRIGGER mkuuid BEFORE INSERT ON SomeTable
 FOR EACH ROW BEGIN
   SET NEW.primary_key = UUID_SHORT();
 END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...