名前にドット(。)が含まれている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)>
-
アスタリスクを含むMySQLのフィールド名を選択できますか?
いいえ、できません。それでも解決するには、フィールド名の前後にバッククォートを使用します。まず、アスタリスクが付いた列名のテーブルを作成しましょう。 `Name *` − mysql> create table DemoTable -> ( -> `Name*` varchar(20) -> ); Query OK, 0 rows affected (2.03 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into Demo
-
MySQLで個別の列名を表示する
テーブルを作成しましょう- mysql> create table DemoTable1996 ( ShippingDate datetime, CustomerName varchar(20) ); Query OK, 0 rows affected (0.84 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1996 values('2019-12-21 10:45:00','Chris'); Query O