PHP-MySQL 3 таблицы выбора, обновления, удаления и вставки связаны с внешним ключом - PullRequest
0 голосов
/ 28 марта 2011

У меня проблема с 3 таблицами InnoDB в MySQL, связанными с внешним ключом. Мои таблицы:

Table1 name - products

PID(PK, bigint, auto inc), 
CATALOG_NO, 
PRODUCT_NAME, 
COMPOSITION, 
SIZE, 
PRICE, 
SUBCAT_ID(foreign Key, index, bigint, keyname-FK_products_1)

Table2 name - subcategory

SUBCAT_ID(PKey, bigint, auto inc),
SUBCATEGORY_NAME, CAT_ID(fkey, bigint)


Table3 name - category

CAT_ID(Pkey, bigint, auot inc),
CAT_NAME

1. Каков правильный запрос для выбора и выбора данных путем объединения трех таблиц, которыедолжен отображать результат как:

ProductsPID, CATALOG_NO, PRODUCT_NAME, COMPO, SIZE, PRICE, SUBCATEGORY_NAME, CAT_NAME

2.Какой правильный способ ОБНОВИТЬ и УДАЛИТЬ вышеупомянутые объединенные записи, используя один запрос через одну форму?

3. Возможно ли этовставлять записи также с помощью одного запроса, используя одну HTML-форму, содержащую такие поля, как название продукта (тип ввода = текст), номер каталога (тип ввода = текст), состав (тип ввода = текст), размер (тип ввода = текст), цена (тип ввода = текст), выберите подкатегорию (выберите поле типа с параметрами), категорию (выберите поле типа с параметрами), если да, то как?

ПОЖАЛУЙСТА, ПОМОГИТЕ, СРОЧНО.

1 Ответ

0 голосов
/ 29 марта 2011
SELECT
  p.PID AS ProductsPID,
  p.CATALOG_NO, 
  p.PRODUCT_NAME, 
  p.COMPOSITION AS COMPO, 
  p.SIZE, 
  p.PRICE, 
  s.SUBCATEGORY_NAME,
  c.CAT_NAME
FROM products p
  INNER JOIN subcategory s
    ON p.SUBCAT_ID = s.SUBCAT_ID
  INNER JOIN category c
    ON s.CAT_ID = c.CAT_ID

update и delete также могут использовать join в некоторых случаях (не для посторонних ключей), но вам, вероятно, нужно только изменить таблицу product. Вставка должна быть на отдельных столах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...