2011-10-24 7 views
0

PHP、JavaScript、MYSQLを使用してページを設計しました.Id(自動インクリメント)イメージ、名前などを保持します。すべてのものが正常に動作し、私は挿入、更新、またはそれぞれのボタンをクリックしてレコードを削除することができます。レコードが削除され、新しいレコードを挿入しようとすると、最近削除されたレコードの直後に配置されることに気付いたことがあります。例えば。私は18レコードがある場合、私はレコード#14を削除し、明らかにレコード#19になる新しいレコードを挿入する、それは#14だった削除されたレコードの後の場所になります。とにかくテーブルの最後に(最後のレコード#19の後に)新しいレコードを挿入するようにインサートを強制するのですか?私はphpMyAdminに入り、Alterテーブル順序を使用したくありません。 selectを使用する場合、私はORDER BYを使用しているので問題はありません。すべてのものを表示します。 あなたの助けを感謝します。 FardinMYSQLへのデータの挿入は、最近削除されたレコードの後に​​置かれます。

+1

これを行う理由 – Gowri

+0

データベースにはレコードに数値がありません。順序を維持することを選択している間は、明示的に 'order by'を指定する必要があります。 – kan

答えて

4

定義によると、SQLテーブルには自然順序はありません。いくつかのMySQLテーブルマネージャが提供する自然順序に依存することは、非常に壊れやすいコードにつながるでしょう。 SQL標準を守り、検索時に行を並べ替えることを検討してください。

MySQLが削除されたレコードスペースのリサイクルを制御する方法を制御することはできません。

これは、MySQLからのコメントです。本質的には同じもの:http://forums.mysql.com/read.php?108,41767,41836です。

関連する問題