Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Структура таблицы без первичного ключа


Автор: tolik777 29.9.2006, 13:52
есть БД:
Код

CREATE TABLE error_log (
  time timestamp,                 ##    Дата и время ошибки        
  err_txt text                        ##    Текст ошибки
) ENGINE=MyISAM DEFAULT CHARSET=cp1251; 


Primary Key мне тут не нужен, т.к. это просто таблица для хранения логов, никакого поиска по ней выполняться не будет.
Проблема в том, что в phpMyAdmin появляется вопросик и надпись: "Вам необходимо указать первичный ключ для этой таблицы". Все в принципе работает, но как я понял спроектирована БД неправильна.
Если спроектировать с указанием primary key, то в 1 секунду будет писаться только одна запись, а остальные теряются, т.к. значения получаются одинаковые. Третий столбец id вводить не хочу. Может есть какой то другой способ правильно описать эту таблицу?

Автор: Garret 29.9.2006, 14:14
Можно и так, но желательно сделать праймари.

Автор: skyboy 29.9.2006, 14:53
Цитата(Garret @  29.9.2006,  13:14 Найти цитируемый пост)
но желательно сделать праймари. 

в смысле - сделать автоинкремент и объявить его примари ключем.

Добавлено @ 14:56 
а Front-end понять можно: он же не знает, что ты не собираешься редактировать таблицу, а редактирование без уникального индекса - пытка. Ведь неизвестно, какую именно(одну!) запись надо про'update'ить - со одинаковыми значениями полей может быть несколько записей... вот он и советует создать примари индекс

Автор: Garret 29.9.2006, 15:11
Цитата(skyboy @  29.9.2006,  14:53 Найти цитируемый пост)
в смысле - сделать автоинкремент
Ну это уже по надобности.

Автор: tolik777 2.10.2006, 08:06
Т.е. желательно сделать третий дополнительный столбец с ID?

Цитата

запись надо про'update'ить

А мне апдейтить не надо. Это у меня лог ошибок в базе. Я их только просматривать буду и ничего больше.

Автор: skyboy 2.10.2006, 08:34
Цитата(tolik777 @  2.10.2006,  07:06 Найти цитируемый пост)
А мне апдейтить не надо. 

Цитата(skyboy @  29.9.2006,  13:53 Найти цитируемый пост)
Front-end [...] не знает, что ты не собираешься редактировать таблицу, а редактирование без уникального индекса - пытка


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)