檢查欄位是否已存在

使用 query 語法新增欄位時,通常要記得先檢查欄位是否已存在才比較妥當
而語法如下

 
$sqlb="SELECT count(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='檢查之資料庫名稱' AND TABLE_NAME='檢查之資料表名稱' AND COLUMN_NAME='檢查之欄位名稱'";
  $result3 = mysql_query($sqlb) or die("查詢 Query 1a 錯誤" . mysql_error( ));
  while($rowb = mysql_fetch_array($result3)){
    $check=$rowb["count(*)"];
  }
  if(!$check){/*假設沒有重複,則可以新增欄位*/
    $sqlb="alter table 資料表 ADD `欄位名稱` INT(5) default 0 not null";
    $result3 = mysql_query($sqlb) or die("新增欄位a錯誤" . mysql_error( ));
  }

而新增資料表時也可以服法泡製

$sqlb="SELECT count(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='檢查之資料庫名稱' AND TABLE_NAME='檢查之資料表名稱'";
  $result3 = mysql_query($sqlb) or die("查詢 Query 1a 錯誤" . mysql_error( ));
  while($rowb = mysql_fetch_array($result3)){
    $check=$rowb["count(*)"];
  }
  if(!$check){/*假設沒有重複,進行以下動作*/
  }

This entry was posted in MySQL, PHP. Bookmark the permalink.