Today: Yesterday: Total: Online:
カテゴリー
その他
  • RSS1.0
  • RSS2.0
  • atom0.3
  • valid XHTML1.0
  • valid CSS2
  • Credit
RSSリーダーで購読する | この日記のはてなブックマーク数 | プロフィール
コメントが一番多い記事(233コメント):人の心理の裏をかくホームページ集客術:リピータになってもらうためには
ツイートが一番多い記事(94ツイート):ちょっと待て!twitterやfacebookに子供の写真を掲載する親達への警告
いいねが一番多い記事(574いいね):facebookスパムに要注意。なりすましの見分け方とアカウント乗っ取りの手口(2013年度版)

カテゴリー » Mysql January 29, 2007

Mysqlでinsert時に自動採番する方法(rownumの代用) ID:1170059219


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
を参照のこと
1 / 2| 次のページ »
— posted by midilin @ 05:26PM
[コメントが多かった順の記事]
人の心理の裏をかくホームページ集客術:リピータになってもらうためには(233)
ホームページ心理学第2弾「メールの書きだしとホームページ運営・集客の関係」(76)
娘が生まれた(69)
ゲームと言えば、何を思い出す? (50)
Microsoftからアクセス (30)
「目標の立て方」と「努力」と「実行力」(26)