mysql:4267
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Sun, 2 Sep 2001 22:29:57 +0900
Subject: [mysql 04267] あるフィールド毎の通し番号
とみたです。 最近気が付いたこと。 あるフィールドの値毎に通し番号を振りたい場合、たとえば、id1 が「A」〜 「Z」と id2 が「000」〜「999」の場合、 create table hoge (id1 char(1) not null, id2 int(3) zerofill not null, ..., unique (id1, id2)); とかしますよね。で、これだと自分で max() とか使って、新しい番号を振ら ないといけないと思ってたんですが、id2 に auto_increment をつけると、 ちゃんと id1 毎に独立した番号が id2 に自動採番されるみたいです。 mysql> insert into hoge (id1) values ('A'); mysql> insert into hoge (id1) values ('A'); mysql> insert into hoge (id1) values ('A'); mysql> insert into hoge (id1) values ('A'); mysql> insert into hoge (id1) values ('A'); mysql> insert into hoge (id1) values ('B'); mysql> insert into hoge (id1) values ('B'); mysql> insert into hoge (id1) values ('C'); mysql> select id1,id2 from hoge; +-----+-----+ | id1 | id2 | +-----+-----+ | A | 001 | | A | 002 | | A | 003 | | A | 004 | | A | 005 | | B | 001 | | B | 002 | | C | 001 | +-----+-----+ 結構便利かも。みなさん、知ってました? -- とみたまさひろ <tommy@xxxxxxxxxx> 日本MySQLユーザ会 http://www.mysql.gr.jp