Мне сложно определить, как связать строки базы данных в проекте PHP/MySql. В настоящее время скрипт отправки заказов разбивает информацию и сохраняет ее в 2 таблицы.Ссылки на таблицы Mysql/Внешний ключ?
Первый называется «Заказы» и содержит:
$OrderId, $CustomerName, $CustomerEmail, $OrderTotal, $OrderTaxes
//and other infos about the ORDER
Второй называется «Items» и содержит все Купленные продукты Infos:
$ProductId, $OrderedQty
//for each one and such...
Он должен быть таким потому что таблица «Items» будет искать различные «отделы», которые будут показаны только части заказов, за которые они отвечают. Но все они должны получить информацию «Заказы» для целей доставки.
Зная, что столбец «OrderId» является первичным ключом, сгенерированным в самой таблице «Заказы», и что мои команды INSERT TO выполняются одновременно, как я могу связать столбец «Идентификатор заказа» в обоих таблицы?
Должен ли я генерировать случайный ключ для их соответствия?
Если бы я использовал внешний ключ, как бы база данных узнала, какой продукт идет с каким заказом, так как они отправляются одновременно?
Или он достаточно быстр, чтобы INSERT в «Заказы» -> SELECT $ OrderID -> INSERT в «Элементы»?
Как обычно это делается? Не могу понять это.
Заранее благодарим за вашу драгоценную помощь!
Как о том, когда 2 человека отправлять свои заказы в то же время, LAST_INSERT может потенциально вернуть неправильное удостоверение личности? Кроме того, «добавьте лишнюю колонку в таблицы купленных продуктов, называемые orderid, поэтому вы знаете, какие продукты принадлежат тому заказу», чего я пытаюсь достичь, но мне нужно получить это значение ID за раз, пока оно еще не создано!? Я делаю что-то неправильно –
LAST_INSERT_ID - это соединение, поэтому, если вы не произвольно используете другие запросы в одном и том же соединении, он должен быть последовательным. См. Это [страница] (http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id). – user254948
Можете ли вы объяснить мне «соединение»? Извините :) –