天天看點

php mysql行數id,php – 在MySQL資料庫中設定行的唯一ID

我想為添加到我的資料庫的每個項目設定一個唯一的ID,類似于Drupal節點.隻是不确定在向資料庫添加新項目時我怎麼知道下一個數字是什麼.

MySQL的聲明是:

$query = "INSERT INTO `HERDSIRES`(uid, name, color, gender) VALUES ( VALUE of next uid, '$name', '$color', '$gender')";

我想我需要在INSERT之前查詢資料庫,找出最後一個uid的值然後再加1,然後将其儲存到變量中.我不确定這是不是最好的方法.

有什麼想法嗎?

解決方法:

如果資料庫将列設定為autogenerate,則可以在INSERT語句中傳遞null,MySQL将完成剩下的工作.

例如,在指定了auto_increment的主鍵列上.

你的将是:

INSERT INTO `HERDSIRES`(uid, name, color, gender)

VALUES ( null, '$name', '$color', '$gender')";

或者你可以完全省略它,因為你無論如何都在枚舉字段:

INSERT INTO `HERDSIRES`(name, color, gender)

VALUES ( '$name', '$color', '$gender')";

編輯:以下是如何使用PHP從表中擷取最後一個自動生成的ID:

$query = mysql_query('INSERT INTO ...');

$new_row_id = mysql_insert_id();

// do something with $new_row_id

标簽:php,mysql,sql

來源: https://codeday.me/bug/20190721/1496874.html