MySQLで新しい行を挿入する際、AUTO_INCREMENTカラムには通常、自動的に増加する一意の値が挿入されます。しかし、時にはその挿入された値を知りたい場合があります。この記事では、INSERT文を使用してAUTO_INCREMENTカラムに挿入された値を取得する方法を説明します。

例として、以下のようなテーブルがあると仮定します。

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50)
);

次に、PHPを使用してINSERT文を実行し、AUTO_INCREMENTである’id’カラムに挿入された値を取得する方法を示します。

<?php
$servername = "your_server";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// データベースに接続
$conn = new mysqli($servername, $username, $password, $dbname);

// 接続確認
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// ユーザーを挿入
$username = "JohnDoe";
$sql = "INSERT INTO users (username) VALUES ('$username')";

if ($conn->query($sql) === TRUE) {
    // AUTO_INCREMENTで挿入されたIDを取得
    $last_inserted_id = $conn->insert_id;
    echo "新しいレコードが作成されました。IDは: " . $last_inserted_id;
} else {
    echo "エラー: " . $sql . "<br>" . $conn->error;
}

// データベース接続を閉じる
$conn->close();
?>

このPHPスクリプトでは、INSERT文を実行した後、$conn->insert_idを使用してAUTO_INCREMENTで挿入されたIDを取得しています。これにより、挿入された行のIDを取得することができます。

この方法を使用することで、挿入されたAUTO_INCREMENTの値を取得し、必要な処理に利用することができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です