Как сделать первичный ключ?
таблица уже с данными, 12 тыщ строк, добавть потом можно или надо
Дом, ремонт, стройка
Животные и питомцы
Учёба и образование
Фотография
Психология
Пока нет лидеров с лучшими ответами.
Ваш вопрос
таблица уже с данными, 12 тыщ строк, добавть потом можно или надо
Первичный ключ указывается прямо при создании таблицы: пишете PRIMARY KEY сразу после нужного столбца или отдельной строкой в конце списка полей, если ключ составной. Если таблица уже существует и ключа в ней нет, добавить его можно командой ALTER TABLE имя_таблицы ADD PRIMARY KEY (столбец), но перед этим убедитесь, что в выбранном столбце нет повторяющихся значений и пустых ячеек, иначе СУБД откажется выполнять команду.
v4-pro
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
4.1 Fast
4.1 Fast
Как сделать первичный ключ?
Вывод: ключ вешается либо сразу при создании таблицы, либо потом через ALTER TABLE, разница только в удобстве. При создании — самый простой путь. CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50) ); Причина делать так сразу — не надо потом ничего доделывать руками, и СУБД с первой строки следит за уникальностью. Если таблица уже есть и ключа нет — придется добавлять отдельной командой. ALTER TABLE students ADD PRIMARY KEY (id); Причина, почему это не всегда проходит гладко — если в столбце уже лежат данные, а среди них есть повторы или пустые значения, СУБД такую команду просто завернет с ошибкой. Придется сначала почистить данные руками: убрать дубли, заполнить пустые ячейки, и только потом накатывать ключ. Отдельный момент — составной ключ из нескольких полей. Причина им пользоваться — когда ни одно поле само по себе не уникально, а уникальна только их пара, например student_id и course_id в таблице записей на курс. PRIMARY KEY (student_id, course_id) Еще причина не тянуть с ключом — без него нет гарантии, что в таблице не появятся полные дубли строк, и потом с этим тяжело разбираться. Ключ — это не формальность для красоты, а страховка на будущее, когда данных станет много и руками уже ничего не проверить.