Drupalノードに似た、データベースに追加された各アイテムに一意のIDを設定したいとします。私のデータベースに新しいアイテムを追加するときに、次の数字がどうなるかをどうやって知っているのか分かりません。 MySQLのなステートメントは次のとおりです。私は考えていMySQLデータベースの行の一意のIDを設定する
$query = "INSERT INTO `HERDSIRES`(uid, name, color, gender) VALUES (VALUE of next uid, '$name', '$color', '$gender')";
私は前にINSERTにデータベースを照会し、最後のUIDのどのような値を見つけると、それに1を追加し、変数にそれを保存する必要があります。これが最善の方法であるかどうかは分かりません。
ご意見はありますか?
申し訳ありませんが、これを残しました。私は別のテーブルに同じアイテムの異なる部分を追加しています。私は別のテーブルからすべてのデータを呼び出すときにこのUIDを使用するつもりです。 – Denoteone
その場合、最初の行を挿入してからmysql_insert_id()を使い、次のクエリでその値を使用します。そのPHP関数は、別の答えで言及されているMySQL関数 'LAST_INSERT_ID()'の代理です。私はそれを含めるために上記の答えを更新しました。 – futureal
InnoDBを使用している場合、MySQLのAUTO_INCREMENTに注意してください。あなたがInnoDBを使用しているなら、MySQLではAUTO_INCREMENTは恐ろしいことです。https://dev.mysql.com/doc/refman/5.6/en/innodb-auto-increment-handling.html –