如何更新名称中包含点 (.) 的 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)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP