Форумы / National / Russian / Тех. поддержка / Баг таблицы MySQL?

Nayn
#1 20.09.2014 17:20

Здравствуйте.

в таблице cot_extra_fields через phpmyadmin видно сообщение:

Данная таблица не содержит уникального столбца. Изменение сетки, выставление галочки, редактирование, копирование и удаление не доступно.

Невозможно просмотреть запись и редактировать, нет уникального столбца.
Это так и должно быть или это баг в таблице?

 

esclkm
#2 20.09.2014 18:07
А при чистой установке?
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Dayver
#3 20.09.2014 19:58

Бага нет. При чистой тоже таковой не добавляется. Тоже когда то сталкивался - если я ничего не путаю дело в самом phpmyadmin ... кажется это в новых версиях так он себя ведет ... в старых и без уникального ключа все прекрасно понимает и разрешает удалять\редактировать. Если сильно нужно пользоватся этим админом то просто добавте столбец с автоинкрементов и уникальным ключом по нему - работы это не нарушит.

Pavlo Tkachenko aka Dayver
Nayn
#4 20.09.2014 20:19

Понятно будем исправлять, спс.

Добавлено 22 минуты спустя:

#39975 esclkm:
А при чистой установке?

Cotonti-0.9.16.2

При читсой установке, также таблица cot_config без идендификатора, остальные не проверял, так как они пустые. Открыв install.sql в котонти и посмотрев базу, там нет идентфикаторов, поэтому спрашиваю, баг или так должно быть. )

Добавлено 1 минуты спустя:

#39977Dayver: дело в самом phpmyadmin ... 

Не в нем, в установочной базе...

Вот сам запрос на исправление, если нужно:

ALTER TABLE `cot_config` ADD config_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
ALTER TABLE `cot_extra_fields` ADD field_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

Зачем это нужно: для просмотра и редактирования в phpmyadmin.

 

Отредактировано: Nayn (20.09.2014 20:55, 9 лет назад)
Dayver
#5 21.09.2014 02:32
#39978 Nayn:

Добавлено 1 минуты спустя:

#39977Dayver: дело в самом phpmyadmin ... 

Не в нем, в установочной базе...

Вот сам запрос на исправление, если нужно:

ALTER TABLE `cot_config` ADD config_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
ALTER TABLE `cot_extra_fields` ADD field_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

Зачем это нужно: для просмотра и редактирования в phpmyadmin.

Ну тут вы сами запутались отрицаете что дело не в админе, а в базе - но ведь сайты с этой базой прекрасно работают и без этих полей\ключей. Да и старые версиии этого админа так же прекрасно себя чуствуют с такими базами. А потом сами же говорите что предложенные вами запросы нужны для работы именно админа. Все еще будете настаивать на том что проблема в базе? Просто усовершенствованный инструмент перестал должным образом работать (шаг назад, они, так сказать, сделали) в то время как старые его версии вполне себе справлялись с этими задачами. Я как бы без претензии, просто справедливости ради, считаю необходимым раставить все точки над і в том кто на самом деле виноват база кота или phpmyadmin.

Pavlo Tkachenko aka Dayver
Nayn
#6 21.09.2014 11:27

Виноватых в программах нет, играют правила. Когда изучал БД, то усвоил одно правило!

Фундаментальное правило теории проектирования баз данных гласит, что в каждой таблице должен быть уникальный идентификатор строк, который представляет собой столбец или набор столбцов, позволяющий отличить записи таблицы друг от друга. В каждой таблице должен быть столбец с идентификатором, причем существование записей с одинаковыми значениями идентификатора недопустимо. Столбец (или набор столбцов), который служит уникальным идентификатором строк, является первичным ключом таблицы.

 

На этом я заканчиваю обсуждение данной темы, вопрос по работе таблицы окончен.

P.S.> Меню Пуск -> Завершение работы. :)