Вот эту таблицу Код (Text): CREATE TABLE `as_shop_production` ( `id_product` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(750) DEFAULT NULL, `id_brand` int(11) NOT NULL, `id_catalog` int(11) DEFAULT NULL, `price` int(11) DEFAULT NULL, `date_create` int(11) DEFAULT NULL, `date_update` int(11) DEFAULT NULL, `views` int(11) DEFAULT NULL, `rating` int(11) DEFAULT NULL, PRIMARY KEY (`id_product`), KEY `id_brand` (`id_brand`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; нужно привязать к этой Код (Text): CREATE TABLE `as_shop_brand` ( `id_brand` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` int(11) DEFAULT NULL, PRIMARY KEY (`id_brand`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; вот индексы первой таблицы вот что прописываю для связки вот что возвращает ____ пробовал запросом - тоже самое, и через phpmyadmin тоже пробовал. я уже 6 часов мучаюсь, форумы обшарил, видео уроки пересмотрел. ничего не выходит
только запросом и надо делать. за этими красивыми картинками строится запрос, только ты не видишь его. так что пиши ручками и нам сюда скопируй, чтобы мы тоже попробовали.
`id_brand` int(11) NOT NULL, `id_brand` int(11) unsigned NOT NULL AUTO_INCREMENT, у полей должен совпадать тип.
понял, сделал так Код (Text): CREATE TABLE `as_shop_production` ( `id_product` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(750) DEFAULT NULL, `id_brand` int(11) unsigned NOT NULL, `id_catalog` int(11) DEFAULT NULL, `price` int(11) DEFAULT NULL, `date_create` int(11) DEFAULT NULL, `date_update` int(11) DEFAULT NULL, `views` int(11) DEFAULT NULL, `rating` int(11) DEFAULT NULL, PRIMARY KEY (`id_product`), KEY `id_brand` (`id_brand`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; а как через phpmyadmin int изменить на int unsigned? Добавлено спустя 52 минуты 55 секунд: узнал, можно запросом Код (Text): ALTER TABLE `as_shop_production` MODIFY `id_brand` INT UNSIGNED я так понял, лучше использовать INT UNSIGNED чем просто INT?
тип должен диктоваться условиями задачи. в данном случае, для синтетических ключей, просто без разницы.
Почему без разницы? UNSIGNED имеет в два раза больше значений, за счет того что не имеет знака. Соответственно для автоинкремента он предпочтительней. Или я чего упустил? Добавлено спустя 1 минуту 54 секунды: Из руководства: INT[(M)] [UNSIGNED] [ZEROFILL] Целое число нормального размера. Диапазон со знаком от -2147483648 до 2147483647. Диапазон без знака от 0 до 4294967295. Не лучше и не хуже, просто диапазон хранимых значений разный.
В реальности никто не достигает такого количества записей. Это всё равно, что сравнивать бесконечность и 2*бесконечность. Вывод: без разницы