Mysql primary key
Автор Dark Wanderer задал вопрос в разделе Другие языки и технологии
MySQL Primary Key и получил лучший ответ
Ответ от IRQ[гуру]
Primary key гарантирует уникальность всех записей таблицы. По этому полю можно точно найти 1 единственную запись. Совершенно очевидно что в связанной таблице такого поля по user_id быть не может. Только если отношение между таблицами 1:1. Но тогда зачем таблица?
IRQ
Оракул
(50785)
Не очень понял но мне кажется в любом случае правильнее будет иметь 3 таблицы:
users с primary key по полю user_id
items с primary key по items_id
users_items с полями user_id и item_id (оба поля - foreign key)
В таблице users_items в принципе primary key не нужен, но можно добавить. Здесь важнее иметь просто индекс (возможно кластерный) например по полю user_id - чтобы получить все item-ы конкретного user-а.
рк в принципе нужен всегда, это будет гарантировать уникальность ваших записей.
поверьте, хуже не будет)
из всей таблицы, что-то должно быть гарантировано уникальным, иначе в дальнейшем будет сложнее исправлять и и искать ошибки.
так-что - стоит)
Таблица без PK - весьма странное и редкое явление
У вас планируется более однойзаписи на один user_id ?
PS. Вам не MySQL а просто реляционную модель учить надо. Ибо созданная вами структура
таблицы привязки айтемов к юзеру имеет право на жизнб только в очень специфичных случаях.. .
(например гвоздями-сотками прибитое к полу кол-во вещей у юзера - например экип-слоты, которые никогда не будут изменяться хоть застрелись)
Ошибка: все части PRIMARY KEY должны быть НЕ NULL; Если вам нужен NULL в ключе, используйте вместо него UNIQUE
У меня этот CREATE TABLE выполнился без ошибок. MariaDB 10.1 (это разновидность MySQL).
подробнее...
Как создать таблицу в MySQL?
Google - язык запросов MySQL
в общем случае запрос такой:
CREATE TABLE `menu` (
`id`
подробнее...
Вопрос про SQL (MySQL). Подскажите пожалуйста!
Короче создаешь две таблицы, Авто и Страна, например. В Стране есть id, name_country (для примера).
подробнее...
Авто инкремент в mySQL ?
Первичные ключи бывают суррогатные и не суррогатные.
К примеру не суррогатный ключ.
В
подробнее...
как создать регистрацию на сайте с php и mysql
найди исходник. и перепеши как
подробнее...
Трабла с mysql
Попробуй клонировать
$db = new Database($host, $user, $pass, $name);
$db_log = clone
подробнее...
Помогите с базой MySQL
Посмотри в глобальных настройках, там не просто utf8 там он хитро называется utf-8_ и что-то еще..
подробнее...
сумма ячеек в mysql. вопрос
по первому пункту - предположу что $id_user не инициализирована, или инициализирована через зад) по
подробнее...
Ошибка при создании таблицы в бд
PRIMARY KEY (`ID`(10)) - откуда ты эти (10) взял? В MySQL ничего подобного нет. Установи любую
подробнее...
Как исправить ошибку "Table '...' doesn't exist"?
создать таблицу с указанным именем. Ошибка готовит, что нет данной
подробнее...
Как в MS SQL server создать таблицу с ключом auto_increment посредством sql запроса
auto_increment Вы, наверное взяли, из MySQL?
в MsSQL надо писать так:
..supplier_id
подробнее...
Создание автоинкрементного поля в SQL запросе в Delphi
я не эксперт в Delphi, но с PHP + (Oracle,MySQL) мне довелось поработать, и выполнять запрос по
подробнее...