如何更新名稱中包含點 (.) 的 MySQL 列?


如果 MySQL 列的名稱中包含點 (.),則需要在列名周圍使用反引號。為了理解以上概念,我們先建立一個表格。建立表格的查詢如下

mysql> create table UpdateDemo
   -> (
   -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> `User.FirstName.LastName` varchar(60)
   -> );
Query OK, 0 rows affected (0.54 sec)

使用插入命令在表格中插入一些記錄。

查詢如下

mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('John Smith');
Query OK, 1 row affected (0.14 sec)
mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('Adam Smith');
Query OK, 1 row affected (0.12 sec)
mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('Carol Taylor');
Query OK, 1 row affected (0.25 sec)
mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('Mitchell Johnson');
Query OK, 1 row affected (0.19 sec)
mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('David Brown');
Query OK, 1 row affected (0.16 sec)
mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('Larry Miller');
Query OK, 1 row affected (0.22 sec)

使用 select 語句從表格中顯示所有記錄。

查詢如下

mysql> select *from UpdateDemo;

輸出如下

+--------+-------------------------+
| UserId | User.FirstName.LastName |
+--------+-------------------------+
| 1      | John Smith              |
| 2      | Adam Smith              | 
| 3      | Carol Taylor            |
| 4      | Mitchell Johnson        |
| 5      | David Brown             |
| 6      | Larry Miller            |
+--------+-------------------------+
6 rows in set (0.00 sec)

在列名 User.FirstName.LastName 中使用反引號,其中包含 (.)。

查詢如下

mysql> update UpdateDemo set `User.FirstName.LastName`='David Miller' where UserId=5;
Query OK, 1 row affected (0.19 sec)
Rows matched: 1 Changed: 1 Warnings: 0

讓我們再次查看錶格記錄。UserId=5 的行已成功更新。

查詢如下

mysql> select *from UpdateDemo;

輸出如下

+--------+-------------------------+
| UserId | User.FirstName.LastName |
+--------+-------------------------+
| 1      | John Smith              |
| 2      | Adam Smith              |
| 3      | Carol Taylor            |
| 4      | Mitchell Johnson        |
| 5      | David Miller            |
| 6      | Larry Miller            |
+--------+-------------------------+
6 rows in set (0.00 sec)

更新於:30-Jul-2019

933 次瀏覽

開啟您的職業生涯

完成課程以獲得認證

立即開始
廣告
© . All rights reserved.