Мой обычный процесс вставки в одну таблицу и последующего получения идентификатора, чтобы я мог вставить в другую таблицу, выглядит так в MSSQL:
DECLARE @transactionKey uniqueidentifier
SET @transactionKey = NEWID()
INSERT INTO transactions(transactionKey, transactionDate, transactionAmount)
VALUES(@transactionKey, '#transactionDate#', '#transactionAmount#')
DECLARE @transactionID int
SELECT @transactionID = transactionID
FROM transactions
WHERE transactionKey = @transactionKey
INSERT INTO transactionItems(transactionID, itemID, itemAmount)
VALUES(@transactionID, '#itemID#', '#itemAmount#')
SELECT @transactionID as transactionID
Мой вопрос состоит из двух частей. Во-первых, это лучший способ сделать это? Я читал, что есть вероятность, что GUID у меня изменится, и я получу недопустимый GUID во второй таблице. Я предполагаю, что шансы на это очень малы, и я делал это в течение многих лет в различных проектах, и у меня никогда не было проблем.
Вторая часть моего вопроса: работает ли что-то подобное в MySQL? Я начинаю работать над новым проектом с использованием MySQL, и я не совсем уверен, как это сделать. Раньше я обычно работал только над MSSQL.
В этом новом проекте я использую CF9 и MySQL.
Любая помощь по этому поводу была бы замечательной.
Заранее спасибо.