[前][次][番号順一覧][スレッド一覧]

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]