Получить следующий автоматический прирост

Я знаю, что это не так сложно, но я не помню, как это сделать.

Мне просто нужно знать следующий автоматический приращение.

$result = mysql_query(" SHOW TABLE STATUS LIKE Media "); $data = mysql_fetch_assoc($result); $next_increment = $data['Auto_increment']; 

… но я не буду работать для меня, что я делаю неправильно?

Solutions Collecting From Web of "Получить следующий автоматический прирост"

 $result = mysql_query(" SHOW TABLE STATUS LIKE 'Media' "); $data = mysql_fetch_assoc($result); $next_increment = $data['Auto_increment']; 

Имя таблицы должно быть обернуто одинарными кавычками следующим образом: 'table_name'

Так что сейчас все прекрасно.

🙂

Запрос должен выглядеть так:

 SHOW TABLE STATUS WHERE `Name` = 'Media'; 

Другой способ, но медленный, заключается в следующем:

 SELECT AUTO_INCREMENT FROM information_schema.`TABLES` T where TABLE_SCHEMA = 'myScheme' and TABLE_NAME = 'Media'; 

Информационная_схема в основном полезна для получения данных из многих схем.

Вы также можете использовать эту функцию

 function getNextValue(){ $query = "SHOW TABLE STATUS LIKE 'vendors'"; dbconnect(); $results=mysql_query($query); if(mysql_errno() != 0) { $result['count'] = -1; $result['error'] = "Error: ".mysql_error(); } else { $result['count'] = mysql_num_rows($results); for($counter=0;$counter<$result['count'];$counter++) { $result[$counter] = mysql_fetch_assoc($results); } } return $result[0]['Auto_increment']; mysql_close(); } 

если вам нужно знать следующий auto_increment, то это 99%, вероятно, вы делаете это неправильно. вместо получения следующего auto_increment, вы должны просто сделать вставку, которую собираетесь сделать, а затем использовать SELECT LAST_INSERT_ID() чтобы получить значение auto_increment из этой вставки.

если вы попытаетесь угадать следующее значение auto_increment, и у вас есть несколько пользователей, которые делают это одновременно, вы часто получите неправильное значение.