在資料庫開發中,我們經常需要對現有資料表結構進行修改,例如新增一個自動遞增的主鍵欄位。本文將示範如何使用 PHP 搭配 MySQL,透過 ALTER TABLE 語法一次完成「新增欄位」與「設定主鍵」的操作。
<?php
// 1. 選擇資料庫
mysql_select_db("hills_database_test", $dbcon);
// 2. 執行 ALTER TABLE:新增 id 欄位並直接設為 PRIMARY KEY
$alterpkadd = "ALTER TABLE hills_testcreatetable
ADD id INT(32) NOT NULL AUTO_INCREMENT PRIMARY KEY;";
mysql_query($alterpkadd, $dbcon);
// 3. 關閉連線
mysql_close($dbcon);
?>
id 的整數欄位,長度 32,不允許為空。mysql_* 函式,現代專案請改用 PDO 或 mysqli(支援預處理語句,防止 SQL 注入)。NOT NULL AUTO_INCREMENT PRIMARY KEY 通常會自動回填流水號,但建議先備份再操作。<?php
$pdo = new PDO("mysql:host=localhost;dbname=hills_database_test", "user", "pass");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "ALTER TABLE hills_testcreatetable
ADD id INT(32) NOT NULL AUTO_INCREMENT PRIMARY KEY;";
$pdo->exec($sql);
echo "主鍵欄位新增成功!";
?>
透過單一 ALTER TABLE 指令即可同時完成「加欄位」與「設主鍵」,簡潔高效。實務上記得搭配錯誤處理與交易機制,確保資料庫結構變更的安全性。