За последние 24 часа нас посетили 17819 программистов и 1642 робота. Сейчас ищут 1277 программистов ...

Посмотреть связанные таблицы

Тема в разделе "MySQL", создана пользователем tenebrosus, 16 июл 2014.

  1. tenebrosus

    tenebrosus Новичок

    С нами с:
    28 май 2014
    Сообщения:
    4
    Симпатии:
    0
    Доброго всем, очень сильно новичок, вопрос: MySQL. 1)Можно ли в phpMyAdmin связать 2 или более таблиц, или это делается исключительно запросами на php? 2)Связали 2 таблицы(или они были связаны). Как посмотреть связанные таблицы (запросом или в phpMyAdmin)? describe table показывает, какие у таблицы ключи, но не показывает какие таблицы привязаны какими ключами. Как это сделать???
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Код (Text):
    1. SHOW CREATE TABLE `таблица`;
    phpMyAdmin
    [​IMG]

    Workbench
    [​IMG]
     
  3. tenebrosus

    tenebrosus Новичок

    С нами с:
    28 май 2014
    Сообщения:
    4
    Симпатии:
    0
    Спасибо за ответ, нажал на связи-там 2 поля-Столбец и Ограничение внешнего ключа (INNODB).Там предлагается выбрать таблицу и столбец. я так понял таким образом можно связать таблицы. Спасибо. SHOW CREATE TABLE вернуло: CREATE TABLE `b_catalog_product` (
    `ID` int(11) NOT NULL,
    `QUANTITY` double NOT NULL,
    `QUANTITY_TRACE` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'N',
    `WEIGHT` double NOT NULL DEFAULT '0',
    `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `PRICE_TYPE` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'S',
    `RECUR_SCHEME_LENGTH` int(11) DEFAULT NULL,
    `RECUR_SCHEME_TYPE` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'D',
    `TRIAL_PRICE_ID` int(11) DEFAULT NULL,
    `WITHOUT_ORDER` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'N',
    `SELECT_BEST_PRICE` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'Y',
    `VAT_ID` int(11) DEFAULT '0',
    `VAT_INCLUDED` char(1) COLLATE utf8_unicode_ci DEFAULT 'Y',
    `CAN_BUY_ZERO` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'N',
    `NEGATIVE_AMOUNT_TRACE` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'D',
    `TMP_ID` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
    `PURCHASING_PRICE` decimal(18,2) DEFAULT NULL,
    `PURCHASING_CURRENCY` char(3) COLLATE utf8_unicode_ci DEFAULT NULL,
    `BARCODE_MULTI` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'N',
    `QUANTITY_RESERVED` double DEFAULT '0',
    `SUBSCRIBE` char(1) COLLATE utf8_unicode_ci DEFAULT NULL,
    `WIDTH` double DEFAULT NULL,
    `LENGTH` double DEFAULT NULL,
    `HEIGHT` double DEFAULT NULL,
    `MEASURE` int(11) DEFAULT NULL,
    `TYPE` int(11) DEFAULT NULL,
    PRIMARY KEY (`ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

    Я так понял, что следует обратить внимание на PRIMARY KEY
    1)Это значит, что эта таблица не привязана ни к какой, а к ней могут быть привязаны, да? 2)Объясните плиз- насколько я понял можно связать 2 таблицы следующим образом: у одной PRIMARY KEY, у другой FOREIGN KEY. (REFERENCES tablename(columnname). Но можно связать и 2 PRIMARY KEY? 3) Как все-таки посмотреть по какому ключу и какие таблицы привязаны к этой?
     
  4. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    так, например. Вопрос зачем это надо
    Код (Text):
    1. USE information_schema;
    2. SELECT *
    3. FROM
    4.   KEY_COLUMN_USAGE
    5. WHERE
    6.   REFERENCED_TABLE_NAME = 'таблица'
    7.   AND TABLE_SCHEMA = 'база';
     
  5. tenebrosus

    tenebrosus Новичок

    С нами с:
    28 май 2014
    Сообщения:
    4
    Симпатии:
    0
    Мне надо чуть расширить базу CMS битрикс. Конкретней- 50 магазинов, 100000 товаров, у одного и того же магазина могут быть разные остатки по разным ценам. Там же- таблица следующего вида: http://fastpic.ru/view/65/2014/0716/4f49c50456e3c905e076b747eb5eca14.png.html. Я в MySQL не шарю совсем. 2 варианта, как я понимаю- расширить эту таблицу или сделать еще одну привязанную.. Ну и посмотреть как оно связалось и уже связанные
     
  6. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    ну, удачи тогда