mysql:7495
From: Kengo Jinno <Kengo Jinno <kengo@xxxxxxxxxx>>
Date: Tue, 15 Apr 2003 18:06:31 +0900
Subject: [mysql 07495] Re: JAVA プログラムで insert が正常に行われません
神野です。 Tue, 15 Apr 2003 17:43:17 +0900 (JST) ごろに <20030415084317.4877.qmail@xxxxxxxxxx> の "[mysql 07494] JAVA プログラムで insert が正常に行われません " のメールで くろ たろう <kuro_taro_aki@xxxxxxxxxx> さんは書きました。 JAVAは全くわからないのですが、 > (問題点) > データのinsertが、決まった行でしか行われません。二度、三 結果↓を見る限り、正常だと思いますよ。 > (3)二度目のinsertです。SEQ列の「8」とういうデータをinsert > しましたが、順序が入れ替わっています。この後、何度データ > を入れても、プログラムを一番初めに起動したときのデータ挿 > 入位置に、新しいデータが挿入されてしまいます。 > > mysql> select * from master; > +-----+------------+---------+------------+------+ > | SEQ | DAY | RaceSEQ | FirstPrise | ODDS | > +-----+------------+---------+------------+------+ > | 1 | 2002-09-08 | 1 | 2 | 2.7 | > | 2 | 2002-09-08 | 3 | 3 | 5.6 | > | 3 | 2002-09-08 | 6 | 3 | 6.6 | > | 4 | 2002-09-08 | 7 | 4 | 8 | > | 5 | 2002-09-09 | 1 | 1 | 5.7 | > | 6 | 2002-09-09 | 2 | 3 | 3.3 | > | 8 | 1970-01-01 | 5 | 5 | 58 | > | 7 | 1970-01-01 | 5 | 5 | 58 | > +-----+------------+---------+------------+------+ > 8 rows in set (0.00 sec) 「SEQが6と7の間に8が挿入されているのがおかしい」ということだと 思いますが、そもそも「select * from master;」の結果の 並び順は保証されていないはずです。(未定義) なので、どんな並び順で出てくるかはわかりません。 #常識的に考えれば、物理的なファイル上でのレコードの並び順 #ではないかと思いますが。 逆に言えば、 > (1)insert実行前のデータです。SEQ列の番号は整列してい > ます。(このデータは手動で作成しました。) これも「たまたま」そうなっているだけであり、常にその順番で 並んでいるとは限りません。 並び順を限定(指定)したければ、order by を使いましょう。 select * from master order by SEQ; ならば、必ず「1 2 3 4 5 6 7 8」の順に並んで出力されます。 -- 神野健吾 <kengo@xxxxxxxxxx>
7494 2003-04-15 17:43 [くろ たろう <kuro_ta] JAVA プログラムで insert が正常に行われません -> 7495 2003-04-15 18:06 ┣[Kengo Jinno <kengo@x] 7496 2003-04-15 18:08 ┗[UNO Shintaro <uno@xx]