首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 實作 MySQL 資料表新增欄位並設定主鍵完整教學

     編輯:PHP 綜合知識

前言

在資料庫開發中,我們經常需要對現有資料表結構進行修改,例如新增一個自動遞增的主鍵欄位。本文將示範如何使用 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);
?>

語法解析

  • ADD id INT(32) NOT NULL:新增名為 id 的整數欄位,長度 32,不允許為空。
  • AUTO_INCREMENT:設定為自動遞增,每新增一筆資料自動 +1。
  • PRIMARY KEY:直接將此欄位定義為主鍵,確保資料唯一性與索引效能。

注意事項

  1. 本範例使用已淘汰的 mysql_* 函式,現代專案請改用 PDO 或 mysqli(支援預處理語句,防止 SQL 注入)。
  2. 若資料表已有資料,新增 NOT NULL AUTO_INCREMENT PRIMARY KEY 通常會自動回填流水號,但建議先備份再操作。
  3. 執行 DDL(如 ALTER TABLE)會鎖定資料表,大量資料時請安排在低峰期執行。

現代化寫法建議(PDO 版)

<?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 指令即可同時完成「加欄位」與「設主鍵」,簡潔高效。實務上記得搭配錯誤處理與交易機制,確保資料庫結構變更的安全性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved