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