oracleだとinsert selectなどで、rownumやrow_number()を使えばできるが、
mysqlだとないようなので、
テーブルを作成するときに、AUTO_INCREMENT属性をつける
例としては
create table AAAAA(
`ID` int primary key AUTO_INCREMENT,
`項目A` char(7),
`項目B` char(20)
);
というようにテーブルを作成して、
insert時に
insert into AAAAA (`項目A`,`項目B`) values ('データ1','データ2')
のようにすると、IDが自動採番される
あとは変数を使う方法がある。
SET @r=0;
SELECT (@r:=@r+1) as row FROM `テーブル名`;
また、PHPなどで、実行する場合は、SETと、本SQLの2本を同時実行できないっぽいので
(できるかもしれないがわからん)
unionでダミーのテーブルを作ることで、SETを使わなくても採番できた。
詳しくは別記事
MySQLのユーザー変数でSETを使わずSQL中でユーザー変数の型を定義する
http://midilin.sakura.ne.jp/midilin/yasuda/memo/prg_db/index.php?UID=1208333404
を参照のこと
— posted by midilin @ 05:26PM
最近のコメント