Lấy giá trị AUTO_INCREMENT của bảng trong MySQL

Cập nhật ngày 10/03/2024
Lượt xem: 44
Trong nhiều trường hợp đặc biệt các bạn sẽ cần lấy giá trị AUTO_INCREMENT trước khi Insert. Còn lấy làm gì thì tùy vào các bạn :v

Cách 1:

SELECT `AUTO_INCREMENT`
FROM  INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'DatabaseName'
AND   TABLE_NAME   = 'TableName';
Trong đó

- DatabaseName là tên Database của bạn

- TableName là tên bảng cần muốn lấy giá trị AUTO_INCREMENT

Cách 2:

<?php
    $db = new mysqli("localhost", "user", "password", "YourDatabaseName");

    if ($db->connect_errno) die ($db->connect_error);

    $table=$db->prepare("SHOW TABLE STATUS FROM 'YourDatabaseName'");
    $table->execute();
    $sonuc = $table->get_result();

    while ($satir=$sonuc->fetch_assoc()){
        if ($satir["Name"]== "YourTableName"){
            $ai[$satir["Name"]]=$satir["Auto_increment"];
        }
    }

    $LastAutoIncrement=$ai["YourTableName"];

    echo $LastAutoIncrement;
?>
Cách 3:

// Connect PDO
$db = new PDO(...);

// Lấy AUTO_INCREMENT tiếp theo
$stmt = $db->query("SHOW TABLE STATUS LIKE 'tableNam'");

$row = $stmt->fetch();

echo $auto_increment = $row[‘Auto_increment’];