如何檢查 MySQL 表中是否存在某個欄位?


要判斷某個欄位是否存在,我們有以下方法 -

  • 使用 DESC 命令
  • 使用 SHOW 命令

首先,我們將建立一個帶欄位的表 -

mysql> CREATE table ColumnExistDemo
-> (
-> UniqueId int,
-> UniqueName varchar(200),
-> UniqueAddress varchar(200)
-> );
Query OK, 0 rows affected (0.57 sec)

在第一個方法中,我們將獲得整個欄位名稱以及有意義的資訊。語法如下 -

DESC yourTableName;

讓我們應用上述查詢來檢查是否存在欄位名稱。但是,這種方法不好,因為它顯示了所有欄位。

mysql> DESC ColumnExistDemo;

輸出如下

+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| UniqueId      | int(11)      | YES  |     | NULL    |       |
| UniqueName    | varchar(200) | YES  |     | NULL    |       | 
| UniqueAddress | varchar(200) | YES  |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

第二個方法更好,因為我們可以檢查單個欄位。語法如下 -

SHOW COLUMNS from `yourTableName` LIKE 'yourColumnName';

現在,我正在應用上述查詢來檢查是否存在欄位。查詢如下 -

mysql> SHOW COLUMNS from `ColumnExistDemo` LIKE 'UniqueName';

輸出如下

+------------+--------------+------+-----+---------+-------+
| Field      | Type         | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| UniqueName | varchar(200) | YES  |     | NULL    |       |
+------------+--------------+------+-----+---------+-------+
1 row in set (0.00 sec)

更新於: 2020 年 6 月 25 日

5 千+ 瀏覽量

啟動你的 職業

完成課程並獲得認證

開始學習
廣告
© . All rights reserved.