Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Автонумерация документов в базе (Евгений) 18/04/2006 - 06:24:08
      Re: Автонумерация документов в базе (Dinky) 18/04/2006 - 18:59:07
      Re: поправка (Dinky) 18/04/2006 - 19:00:45
      Re: поправка (Евгений) 19/04/2006 - 05:16:59
      Re: поправка (Dinky) 19/04/2006 - 18:53:22

> Original message text:
> From: Евгений - 18/04/2006 - 06:24:08
> Subject:Автонумерация документов в базе
> -----------------
> Уважаемые коллеги! Наверное тема автоинкрементов уже измусолена, но как не странно, я не нашел ответа на свой вопрос.
>
> Автоинкремент - это хорошо. А кто нибудь может посоветовать, как лучше сделать автонумерацию счетов или кассовых документов в базе?
> Причем нумерация в новом году должна начинаться сначала, т.е. номера будут уникальными только на протяжении года.
> Удалять насильно данные по прошлому году нельзя, тем более, только ради корректной автонумерации - это глупость.
> И самое главное! Работать могут параллельно несколько пользователей по сети, так что выяснение сначала через SELECT MAX, а потом INSERT вида NUM=MAX+1 не подойдет.
>
> Хм...Как это вообще делается в умных бухгалтерских программах.
>
> Заранее благодярю.
>
>


From: Евгений - 19/04/2006 - 05:16:59
Subject:поправка
-----------------
Я попробовал сделать такого вида искуственным способом.
Хочется думать, что это одна операция атомарна.

INSERT INTO pays(ap_num, ap_date, ap_sum, ap_dog_link)
SELECT IFNULL(MAX(ap_num)+1,1), "2006-04-18", 100.00, 1
FROM pays
WHERE ap_date >= "2006-01-01"
AND ap_date < "2007-01-01";

вместо констант в программе при SQL-запросе конечно же подставляются значения переменных.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
27419



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |