2012-01-16 16 views
0

私はMySQLテーブルを持っていて、テーブルにidの行があり、それにauto_incrementedがあるとします。 MySQLのクエリとPHPを使って、行を追加してみましょう。最初の行はid1です。次に、id2の2番目の行(phpmyadmin経由)を手動で追加します。私がPHP経由で3番目のMySQLを挿入すると、idは3行目になるでしょう... 2または3MySQL AUTO_INCREMENTマニュアル

質問は... auto_incrementは手動入力を考慮していますか?

+0

なぜテストデータベースで試してみませんか? ;-) – stefandoorn

+1

衝突が発生しないので、次の衝突は3になります。ただし、auto_incrementフィールドの値を手動で変更または改ざんしてはいけません。データベースがそれを処理するようにしてください。 –

+0

@ N.B。あなたは衝突を起こさないと確信していますか?私はそれをテストし、キーの重複エラーが発生しました。 – Konerak

答えて

2

auto_incrementは手動入力を考慮していますか?

はいです。しかし、IDを手動で入力するのではないかと思います。 :-)(手動またはプログラムで)挿入するときは、このフィールドだけを残しておけば、My​​SQLが自動的に処理します。

1

MySQLは手動入力を受け入れ、提供する値を設定しようとします。値が存在しない場合は挿入され、そうでない場合は重複キーエラーが発生します。

  • あなたが値を自分で決めたいとき(例えば、 あなたが行を削除し、現在のテーブルの正確な同じ行をしたい)の値を入れてください。
  • NULLを入力するか、データベースを が自動インクリメントを使用できるようにするために、列の外に置いてください。

ヒント:アプリケーションで自動インクリメント値を入力する際に​​値を選択している場合は、おそらく何か問題があります。

関連する問題