[mysql]Вопрос по созданию базы

iakobi91

Есть база, где кроме всего прочего есть два ключа. Первый - дата, второй - номер строки с такой-то датой. т.е.:
01.01.2005 - 1
01.01.2005 - 2
01.01.2005 - 3
02.01.2005 - 1
02.01.2005 - 2
02.01.2005 - 3
02.01.2005 - 4
Как сделать такую базу, чтоб номера присваивались автоматически согласно дате?

Elina74


CREATE TABLE t (
id INT AUTO_INCREMENT PRIMARY KEY, #номер, уникальный
time_stamp TIMESTAMP, #время последних изменений в формате YYYYMMDDHHMMSS
);

Fragaria

с такой базой у тебя id будет постоянно увеличиваться на 1 при добавлении новой записи вне зависимости от даты. См. условие, там требуется нечто немного другое.
ЗЫ Насколько я знаю, без использования специальных методов такого сделать нельзя.

iakobi91

В мануале к мускулю написано, что нужно юзать какую-то другую базу - MyISAM вроде. Приведён пример, где выбираются два PRIMARY KEY, но в 4.1 не работает.

stm7884696

база по умолчанию уникальные по дате, вторй ключ - просто инт с дефолтом 0.
при добавлении дата автоматом ставится, а при внесении поля второго ключа делаешь выборку сортируя по сегодняшней дате поле второго ключа + 1.
будет то, что ты сказал, если сможешь грамотно реализовать

ava3443

Тут ключевое слово - автоматически. ИМХО, без триггеров такого не сделать.

iakobi91

Это и ежё понятно - в итоге я так и делал, но проблемы это не снимает. ИМХО полезная штука, делать такие вещи в мускуле

stm7884696

IMHO - абсолютно бесполезная вещь - делать такие вещи в мускуле...
для какого-нить частного случай - может они и необходимы, а в общем - это не тот типа хранения данных...
И вторая норма у тебя нарушается...
А лечится это двумя таблицами.

iakobi91

Какая норма?
Нах две таблицы? лишний гемор?
Очень полезная вещь, делать это в мускуле

ava3443

Почитай какую-нибудь книжку про реляционные базы данных. Ну или хотя бы первые несколько глав любой книжки про MySQL. Глупые вопросы на эту тему тогда сами собой отпадут...

iakobi91

Книги нет. Есть мануаль, где об этом нет ничего. Не нашёл. Кроме примера выше

perko

а процедуры писать в mysql можно ?
может через них ?
Оставить комментарий
Имя или ник:
Комментарий: