Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Запись данных из одной таблицы в другую (Александр) 27/10/2012 - 09:13:01
      Re: Запись данных из одной таблицы в другую (Akina) 27/10/2012 - 21:39:57
      Re: Запись данных из одной таблицы в другую (Александр) 27/10/2012 - 23:38:04
      Re: Запись данных из одной таблицы в другую (Akina) 28/10/2012 - 22:32:35
      Re: Запись данных из одной таблицы в другую (Александр) 28/10/2012 - 23:00:22
      Re: Запись данных из одной таблицы в другую (Akina) 29/10/2012 - 08:50:00

> Original message text:
> From: Александр - 27/10/2012 - 09:13:01
> Subject:Запись данных из одной таблицы в другую
> -----------------
> Добрый день! Есть две таблицы - одна с прайс-листом (kuzov), содержит 5 полей: cat_num, descr, amount, price, company. Другая таблица (order) с заказами содержит поля такого же типа с префиксом order_. До этого я просто записывал данные из одной таблицы в другую, сейчас требуется записать данные из одной таблицы в другую при условии, что такая запись там отсутствует. В случае нахождения подобной записи новая запись не производится, а просто изменяется значение одного из полей совпадающей записи (в данном случае числовое значение поля order_amount увеличивается на требуемую величину).
> Состряпал следующий код
> [b]INSERT INTO order (`order_cat_num`,`order_descr`, `order_amount`, `order_price`, `order_company`)
> SELECT 'RA1475', 'ПРУЖИНА ПОДВЕСКИ K-FLEX', '4', '915,11', 'KYB'
> FROM dual
> WHERE NOT EXISTS (SELECT `order_cat_num` FROM order
> WHERE `order_cat_num` = '$$search');[/b]
> Переменной [b]$search[/b] присвоено следующее значение [b]$search = "'%".strtoupper($_POST['num'])."%'";[/b]
> В [b]num[/b] содержится введенный в HTML форме текст (каталожный номер, в данном случае RA1475). Не подскажете, как заменить информацию в строчке [b]SELECT 'RA1475', 'ПРУЖИНА ПОДВЕСКИ K-FLEX', '4', '915,11', 'KYB'[/b] на какие-нибудь ссылки на информацию, содержащуюся в таблице с прайс-листом? В данном случае номер RA1475 вводится пользователем в HTML форму, этот номер присваивается переменной $search, но в строку [b]SELECT 'RA1475', 'ПРУЖИНА ПОДВЕСКИ K-FLEX', '4', '915,11', 'KYB'[/b] я вручную вставил содержание полей этой позиции с каталожным номером RA1475, а нужно, чтобы эта информация бралась из таблицы с прайс-листом автоматически. Спасибо за помощь!
>


From: Александр - 27/10/2012 - 23:38:04
Subject:Запись данных из одной таблицы в другую
-----------------

Хотелось бы уточнить некоторые моменты:
1) может лучше сделать составной ключ на поля order_cat_num и order_descr? Эти два поля действительно должны быть уникальными. Поле order_cat_num содержит каталожный номер детали: этот номер может быть одинаковым у разных поставщиков. А вот поле order_descr содержит описание, и это описание обычно разное у каждого поставщика. Кстати, вопрос по ходу, если описание более уникально, то может его рас положить левее каталожного номера? Ведь MySQL ищет слева направо?
2) INSERT ...
ON DUPLICATE KEY UPDATE order_amount=order_amount+$amount
(Переменная $amount в данном случае содержит количество требуемого товара). Я правильно понял мысль?
Отправлено с iPad


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
41823



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |