RE: [PHP-DB] generating sequence without AUTO_INCREMENT
| From: | Jennifer Goodie | Date: | Thu, 26 Jun 2003 19:11:30 +0000 |
| Subject: | RE: [PHP-DB] generating sequence without AUTO_INCREMENT | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-28924@lists.php.net to get a copy of this message | ||
You could you do MAX(issue_number)+1 where YEAR(date) = Year(NOW()) to get
next issue number for the current year, but if you had 2 people entering
issues at the same time, it wouldn't work so well. Just trying to give you
a starting point because it seems like you haven't really gotten an answer
yet.
> -----Original Message-----
> From: anders thoresson [mailto:listor@thoresson.net]
> Sent: Wednesday, June 25, 2003 11:43 PM
> To: php-db@lists.php.net
> Subject: [PHP-DB] generating sequence without AUTO_INCREMENT
>
>
> Hi,
> I'm working on a web based article planning system for a news
> paper, based
> on PHP and MySQL. One vital table in the setup will contain release date
> and number for each issue. It's a simple table with just three columns:
> id, which is the primary key and AUTO_INCREMENT
> date, which is the release date for each issue
> issue_number
> I need help with a solution to automatically create the
> issue_number. The
> conditions is as follow:
> 1. The paper is published every Monday to Friday, except for national
> holidays, so issue_number isn't the same as the day number
> 2. The first issue each year should be number 1, and then the
> rest should
> follow in sequence
> The first condition is taken care of manually, where one of the editors
> will input a start date and an end date between which the
> newspaper will be
> released Mondays to Fridays. That way I'll handle the national holidays,
> for each year the editors have to enter a couple of date sequences to
> "fence out" the holidays.
> But keeping track of each and every issue_number manually isn't
> practical.
> I've looked at the MySQL manual, but all I find is LAST_INSERT_ID(). But
> from what I've understood, that function is only useful when it's
> the same
> value that is being updated, and this isn't the case in my problem.
> So I guess I'll have to write my own function. The solution I think of
> right now is adding new issues in two steps: First adding the
> date for the
> new issue to the table, then checking the issue_number for the
> date before,
> and then adding the issue_number next in turn to the new issue,
> or, if the
> year differs start over from 1 again.
> Is there a smarter way of doing this?