Updating a MySQL column that contains dot (.) in its name?


If the MySQL column contains dot (.) in its name, then you need to use backticks around the column name. To understand the above concept, let us create a table. The query to create a table is as follows

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)

Insert some records in the table using insert command.

The query is as follows

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)

Display all records from the table using select statement.

The query is as follows

mysql> select *from UpdateDemo;

The following is the output

+--------+-------------------------+
| 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)

Use backticks around the column name User.FirstName.LastName which contains (.).

The query is as follows

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

Let us check the table record once again. The row with UserId=5 is successfully updated.

The query is as follows

mysql> select *from UpdateDemo;

The following is the output

+--------+-------------------------+
| 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)

Updated on: 30-Jul-2019

823 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements