自動増分のID番号が正しい順序で整列していないことがわかりましたphpMyAdminの参照ボタンをクリックすると - それは私です?私がdbテーブルで間違って設定したものは何ですか?あなたがテーブルに一連のデータを挿入し、あなたにもそれらのいくつかを削除したので、あなたはphpMyAdminの上で、この表をチェックしたときに、これらのデータは、このような順序で表示されなければならない、MySQL:ID番号の自動増分の矛盾
id
2
24
28
296
300
例えば
、
が、私のテーブルのほとんどで、彼らは
、以下、この絵のように
id
24
300
2
296
28
、代わりに彼らはこのようなものに表示され、受注に表示されません。
正しい順序でIDが表示されるようにすることはできますか?
EDIT 1:
私はあなたのほとんどは、私がここに家宅捜索問題を誤解していると思います。つまり、phpMyAdminのBrowserボタンをクリックすると、テーブル内のすべてのデータが一覧表示されます。を使用してSQLクエリを使用して出力を一覧表示するときは表示されません。
意味がありますか?
EDIT 2:
これは私のテーブル構造の一つである - それはそれで間違っているものを見るためにあなたを助けるでしょうか?
CREATE TABLE IF NOT EXISTS `root_pages` (
`pg_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`pg_url` varchar(255) DEFAULT NULL,
`pg_title` varchar(255) DEFAULT NULL,
`pg_subtitle` varchar(255) DEFAULT NULL,
`pg_description` text,
`pg_introduction` text,
`pg_content_1` text,
`pg_content_2` text,
`pg_content_3` text,
`pg_content_4` text,
`pg_order` varchar(255) DEFAULT NULL,
`pg_hide` varchar(255) DEFAULT '0',
`pg_highlight` varchar(255) DEFAULT '0',
`pg_important` varchar(255) DEFAULT '0',
`pg_parent` varchar(255) DEFAULT '0',
`parent_id` varchar(255) DEFAULT NULL,
`pg_cat_id` varchar(255) DEFAULT NULL COMMENT 'page category id',
`ps_cat_id` varchar(255) DEFAULT NULL COMMENT 'post category id',
`tmp_id` varchar(255) DEFAULT NULL COMMENT 'template id',
`pg_backdate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`pg_created` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`pg_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`pg_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
お返事ありがとうございます。私はちょうど上記のテーブル構造を投稿しました。ありがとう! – laukok
PKは主キーです。 MYISAMをストレージエンジンとして使用していることを、作成した文章から確認します。そのエンジンのデフォルトの選択順序は、レコードが挿入された順序です。だからあなたが得ている結果を得るのです。主キーによる選択を確実に行う唯一の方法は、選択したクエリでORDER BYを使用することです。 phpmyadminのデフォルトの動作のみに興味があるので、phpmyadminのコードを変更することで、thosを達成できます。ストレージエンジンをInnoDBに変更しようとする可能性があります。これは、デフォルトではPKの順序付けをselect – inquam