如果MySQL列名称中包含点(。),则需要在列名称前后使用反引号。为了理解上述概念,让我们创建一个表。创建表的查询如下
mysql> create table UpdateDemo -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> `User.FirstName.LastName` varchar(60) -> );
使用insert命令在表中插入一些记录。
查询如下
mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('John Smith'); mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('Adam Smith'); mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('Carol Taylor'); mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('Mitchell Johnson'); mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('David Brown'); mysql> insert into UpdateDemo(`User.FirstName.LastName`) values('Larry Miller');
使用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; 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)