我想為添加到我的資料庫的每個項目設定一個唯一的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