我正在尋找關於'如何在執行之前通過PDO獲取自動遞增ID'的解決方案,是否有辦法在pdo中獲取未來ID。如何在執行之前通過PDO獲得自動遞增ID
我試過lastinsertID但只能在'執行'之後。
下面你發現原來:
$last_id = $dbh->lastInsertId(); //last insert ID
我PDO查詢
$insert = $dbh->prepare('INSERT INTO _gegevensgebruiker (id, company, name, adress, zipcode, city, tel, email, employees, representative, email_re, function, date_end, user, `date_add`) VALUES (NULL, :company, :name, :adress, :zipcode, :city, :tel, :email, :employees, :representative, :email_re, :function, :date_end, :meid, NOW())');
我知道拿到last_id的方式,但我需要一個解決方案來獲得PDO語句中的未來的ID。
下面的PDO語句外我instert_ID解決方案:
$lastusers_sql = $dbh->prepare('SELECT MAX(id) FROM users');
$lastusers_sql->execute();
$last_id = $lastusers_sql->fetchColumn();
插入任何東西之前,爲什麼不從數據庫中獲取MAX(your_id_field)? lastisertid會給你創建後創建的id。對於MAX(your_id_field),你添加+1,並且你得到你的下一個ID,如果有人不插入之間))爲什麼你需要這個功能? –
如果你看了我的問題,你會發現我需要在pdo語句中使用未來的id。所以我不理解你-1,因爲大家知道執行後lastID的解決方案,但我的問題是關於聲明中的未來ID。那麼你有未來ID的解決方案嗎? –
我沒給你-1隊友。 Joshua剛回答MAX(id)+1 –