У меня есть MySQL таблицы некоторых записей, например:циклическая автоинкремент для каждого значения ключа
CREATE TABLE test (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
value varchar NOT NULL
)
сейчас, что мне нужно, чтобы сгенерировать уникальную последовательность 1, 2, ..., N в PHP скрипт и хранить в другой таблице ... Как достичь этого, чтобы быть потокобезопасным, а не создавать парные или что-то пропускать?
мне было интересно, если какая-то дополнительная таблица MySQL может быть полезной, но я не знаю, как создать что-то вроде «отдельных autoincrements для каждого значения столбца» или что-нибудь еще ...
test:
1 ... apples
2 ... oranges
3 ... lemons
некоторых PHP сценарий (доступ паралельно несколькими пользователями в то время):
save_next_fruit($_GET['fruit']);
создает некоторые записи в других таблицах со значениями как это:
saved_fruit:
ID | FRUIT(FK) | FRUIT_NO
1 1 1
2 1 2
3 2 1
4 3 1
5 3 2
6 1 3
7 3 3
8 2 2
9 1 4
10 2 3
11 1 5
12 2 4
13 1 6
14 3 4
15 3 5
другие слова, мне нужно сделать это (например. для фруктов 3 (лимонов)):
insert into saved_fruit (fruit, fruit_no) values (3, select MAX(fruit_no)+1 from saved_fruit where fruit = 3);
но в потоке безопасным способом (я понимаю, что выше команда не поточно в MyISAM базы данных MySQL)
Можете ли вы помочь?
Thanks
Вы хотите получить вставленный первичный ключ из таблицы 'test' или хотите новый для другой таблицы? – AbraCadaver
Мне нужна отдельная последовательность для каждого значения первичного ключа в таблице 'test' для новой таблицы (а не как ключ новой таблицы) – tomas
' mysqli_insert_id() 'или' PDO :: lastInsertId' может быть? – AbraCadaver