Добавить новую таблицу со столбцом auto_increment
Вы можете создать новую таблицу со столбцом auto_increment
. Таким образом, вы сможете генерировать уникальные целые числа потокобезопасным способом. Это будет работать так:
DB::insert_into_transaction_table()
transaction_id = DB::mysql_last_insert_id() ## this is integer value
for each record:
DB::insert_into_table(transaction_id, ...other parameters...)
И для этого вам не нужны транзакции mysql.
Генерация уникальной строки на стороне сервера перед вставкой
Вы можете создать уникальный идентификатор (например, GUID ) на стороне сервера и использовать его для вставки всех записей. Но ваше полеaction_id должно быть достаточно длинным, чтобы хранить значения, сгенерированные таким образом (некоторые char(...)
типа). Это будет работать так:
transaction_id = new_GUID() ## this is usually a string value
for each record:
DB::insert_into_table(transaction_id, ...other parameters...)