primary key



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-а.

Ответ от Pink BloOd[гуру]
рк в принципе нужен всегда, это будет гарантировать уникальность ваших записей.
поверьте, хуже не будет)
из всей таблицы, что-то должно быть гарантировано уникальным, иначе в дальнейшем будет сложнее исправлять и и искать ошибки.
так-что - стоит)

Ответ от Джамшут Бархударов[гуру]
Таблица без PK - весьма странное и редкое явление
У вас планируется более однойзаписи на один user_id ?
PS. Вам не MySQL а просто реляционную модель учить надо. Ибо созданная вами структура
таблицы привязки айтемов к юзеру имеет право на жизнб только в очень специфичных случаях.. .
(например гвоздями-сотками прибитое к полу кол-во вещей у юзера - например экип-слоты, которые никогда не будут изменяться хоть застрелись)

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: MySQL Primary Key

Ошибка: все части PRIMARY KEY должны быть НЕ NULL; Если вам нужен NULL в ключе, используйте вместо него UNIQUE
У меня этот CREATE TABLE выполнился без ошибок. MariaDB 10.1 (это разновидность MySQL).подробнее...
спросили в Mozilla
Как создать таблицу в MySQL?
Google - язык запросов MySQL

в общем случае запрос такой:
CREATE TABLE `menu` (
`id`
подробнее...

Вопрос про SQL (MySQL). Подскажите пожалуйста!
Короче создаешь две таблицы, Авто и Страна, например. В Стране есть id, name_country (для примера).
подробнее...

Авто инкремент в mySQL ?
Первичные ключи бывают суррогатные и не суррогатные.

К примеру не суррогатный ключ.
В
подробнее...

в mysql есть тип данных счетчик ?
из аксес курим?
auto_increment галочку ставишь в поле
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в User br 0 User gd 0
как создать регистрацию на сайте с php и mysql
найди исходник. и перепеши как
подробнее...
спросили в User kaa User koi
Трабла с mysql
Попробуй клонировать
$db = new Database($host, $user, $pass, $name);
$db_log = clone
подробнее...

Помогите с базой MySQL
Посмотри в глобальных настройках, там не просто utf8 там он хитро называется utf-8_ и что-то еще..
подробнее...

сумма ячеек в mysql. вопрос
по первому пункту - предположу что $id_user не инициализирована, или инициализирована через зад) по
подробнее...

Ошибка при создании таблицы в бд
PRIMARY KEY (`ID`(10)) - откуда ты эти (10) взял? В MySQL ничего подобного нет. Установи любую
подробнее...
спросили в User or User pam
Как исправить ошибку "Table '...' doesn't exist"?
создать таблицу с указанным именем. Ошибка готовит, что нет данной
подробнее...

Как в MS SQL server создать таблицу с ключом auto_increment посредством sql запроса
auto_increment Вы, наверное взяли, из MySQL?
в MsSQL надо писать так:
..supplier_id
подробнее...
спросили в Sql Chilinoidea
Создание автоинкрементного поля в SQL запросе в Delphi
я не эксперт в Delphi, но с PHP + (Oracle,MySQL) мне довелось поработать, и выполнять запрос по
подробнее...
Первичный ключ на Википедии
Посмотрите статью на википедии про Первичный ключ
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*