Обычно это обрабатывается пользователем столбца auto_increment в вашей базе данных. Например:
CREATE TABLE `events` (
`id` int(10) unsigned not null auto_increment,
`name` varchar(50) not null,
`location` varchar(100) not null,
`date` datetime not null,
PRIMARY KEY(`id`)
) ENGINE=InnoDB;
INSERT INTO events (name, location, date) VALUES('Foo', 'Bar', '2010-07-10 00:00:00');
INSERT INTO events (name, location, date) VALUES('Baz', 'Foo', '2010-11-10 00:00:00');
SELECT * FROM events;
+----+------+----------+---------------------+
| id | name | location | date |
+----+------+----------+---------------------+
| 1 | Foo | Bar | 2010-07-10 00:00:00 |
| 2 | Baz | Foo | 2010-11-10 00:00:00 |
+----+------+----------+---------------------+
Вы можете видеть, что базе данных автоматически присваивается значение для id
. Это никогда не даст одинаковое значение различным событиям. Это становится уникальным «идентификатором события», который вы можете сохранить в сеансе.