
現在PHPで開発しています。
テーブル構造は下記の通りです。
CREATE TABLE `timetable` (
`ID` int(3) unsigned NOT NULL auto_increment,
`gettime` int(10) unsigned default NULL,
`code` varchar(20) default '0', //英数字が入る
`time` varchar(50) default '0', //日本語が入る
`timeh` datetime default NULL,
PRIMARY KEY (`ID`),
KEY `gettime` (`gettime`)
) ENGINE=MyISAM DEFAULT CHARSET=ujis
これでふつうに
select ID,gettime,code from timetable where code='xxx'
とすると
------------
16435 5 xxx
16434 4 xxx
16433 3 xxx
16432 2 xxx
16431 1 xxx
と取得されてしまい、IDの昇順になってくれません。
select * でも同様です。LIFO型になっているように見られます。
ご助言いただきたいのは
・MySQLの場合、こうなることはあるのか、原因は何か
・対応としてはorder by をつける以外にないのか
(テーブルの構造、設定を変えることで対応可能か)
です。お忙しいと存じますが宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
殆どのRDBMSでは、以下を保証していません。
(1)「order by」指定なしでのプライマリキー順などの順序保証
(2)「order by」指定なしでの格納順などの順序保証
MySQLでも、「order by」指定なしで、「プライマリキー順になったり、格納順になったり」といったことは、一切保証されていません。
マニュアルにも「order by指定がない場合は、順序保証しない」ことは明記されています。
また、「明記されていないが、実は格納順になるのでは?」というのを実験して、「確実には格納順にならない」という実験結果を公開しているサイトもあります。
例外的にSQL Serverでは、「order by指定なし」でプライマリキー順を保証しているようですが、これは例外中の例外と言えます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- MySQL MYSQL エラー 2 2022/10/18 11:37
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
><や(1)等をDBに登録したい
-
ヌル値は記憶容量を必要としな...
-
オラクルのDATE型について
-
データの連続格納について
-
SQLのVARCHARとVARCHAR2の違い
-
MYSQLで、ファイルを格納する方...
-
INT型は金額の型に使用するべき...
-
VBAで変数内に保持された二次配...
-
レビュー機能を作る際・・・
-
PDFをDBに格納する/取り出すには?
-
MySQLで先頭の0が省略されてし...
-
mysqlがインストールされている...
-
MySQLカラム名は日本語と英数字...
-
ODP.NETのバージョン確認
-
xcopyができない
-
パスワード入力を省略したい
-
XAMPPでMySQLで文字化け、文字...
-
MYSQLが起動しません。
-
mySQLでINSERT Errorとなります。
-
列数が多いと結果が行単位に改...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで変数内に保持された二次配...
-
SQLのVARCHARとVARCHAR2の違い
-
INT型は金額の型に使用するべき...
-
Excel VBA SelectedItems
-
postgreSQLのデータ型
-
プライマリーキーの昇順でソー...
-
Float型の時の計算結果がおかしい
-
オラクルのデータ型・通貨について
-
mysql(mariaDB)の格納文字数は...
-
カラムの長さを指定する意味に...
-
ヌル値は記憶容量を必要としな...
-
ハングル文字が入らない。
-
AccessからOrcleのODBCリンクテ...
-
MysqlにURLを登録する方法
-
MySQLで先頭の0が省略されてし...
-
経過時間(hhmmdd)をDATE型には...
-
select文でのデータの取り出し方法
-
MySQLの型のサイズ指定で速度は...
-
DB2 INSERT時の格納順序
-
MySQL TIMESTAMP型は、UTCですか?
おすすめ情報