Forum Webscript.Ru

Общие => Базы данных => Тема начата: Greg от 01 Сентября 2005, 15:17:56

Название: Вставка в две таблицы
Отправлено: Greg от 01 Сентября 2005, 15:17:56
Проблема: существует две таблицы в одной из них содержиться информация о пользователе, в другой его "заказ".

Пользователь вводит свои данные и запрос отправляется в две таблицы. Как сделать так, чтобы в таблице "заказа" хранился индекс полльзователя из соответствующей таблицы..? В общем чтобы заказ и пользователь были связаны.

Заранее всем благодарен!
Название: Вставка в две таблицы
Отправлено: CGVictor от 01 Сентября 2005, 18:51:29
Greg
Хранить в обоих таблицах некоторе значение, одинаковое для обоих записей и однозначно определяющее их связь.
Т.е. ключ.
Название: Вставка в две таблицы
Отправлено: Greg от 01 Сентября 2005, 19:47:38
вот именно это и проблема! что можно использовать как ключ? имя пользователя - может сопадать, номер телефона или емэйл - тоже, один человек может делать заказы не по разу
Название: Вставка в две таблицы
Отправлено: Greg от 02 Сентября 2005, 08:23:20
может использовать как ключ переменную $PHPSESSID не слишком тяжелая?
Название: Вставка в две таблицы
Отправлено: Меняздесьдавнонет от 02 Сентября 2005, 10:07:03
а автоинкрементный айди тебя чем не устроил?
Название: Вставка в две таблицы
Отправлено: Greg от 02 Сентября 2005, 10:50:30
так промблема в вытаскивании id из таблицы юзеров, чтобы потом его затылдыкать в таблицу с заказами
Название: Вставка в две таблицы
Отправлено: Greg от 02 Сентября 2005, 10:51:28
в общем я решил уже вопрос: использовал $PHPSESSID
Название: Вставка в две таблицы
Отправлено: USE от 02 Сентября 2005, 10:51:44
хм...

customer
{
   customer_id
   customer_name
   ...
}

offer
{
   offer_id
   offer_date
   ...
   offer_customer_id
}
Название: Вставка в две таблицы
Отправлено: Greg от 02 Сентября 2005, 11:13:02
USE
А можно здесь поподробнее? Что-то я не догнал...
Название: Вставка в две таблицы
Отправлено: USE от 02 Сентября 2005, 11:30:38
Я бы так реализовал:
Первая таблица - таблица с данными о покупателе:
Идентификатор автоинкрементный, как предложил RomikChef,
Имя, ..., другие данные.

Вторая таблица - таблица заказов в ней идет связка определенного заказа и покупателя по этому же автоинкрементному айди.
Название: Вставка в две таблицы
Отправлено: USE от 02 Сентября 2005, 11:41:47
ах, да... еще одна таблица не помешает:
Таблица связей определенного заказа и продуктов, их колличества и т.п.
Название: Вставка в две таблицы
Отправлено: Greg от 02 Сентября 2005, 13:28:14
Цитировать
Вторая таблица - таблица заказов в ней идет связка определенного заказа и покупателя по этому же автоинкрементному айди.


когда я вставляю инфу о покупателе, мне затем нужно будет взять его айди, но за это время уже может кто нибудь тоже вставить такую же инфу, тогда как я смогу взять айди юзера, чтобы засунуть его в другую таблицу? какой конструкцией?
Название: Вставка в две таблицы
Отправлено: Меняздесьдавнонет от 02 Сентября 2005, 13:31:14
[p]mysql_insert_id[/p]()
Название: Вставка в две таблицы
Отправлено: Greg от 02 Сентября 2005, 13:34:28
ясненька, спасибо большое! (тему не закрывайте, могет ишо вопросы будут)
Название: Вставка в две таблицы
Отправлено: CGVictor от 02 Сентября 2005, 14:53:37
Greg
RomikChef
А чем uniqud() хуже?