MySQLで列値を持つバックティックを使用できますか?
列値でバッククォートを使用することはできません。このためには、テーブル名または列名のみを使用してください。列の値にバックティックを使用すると、MySQLは次のエラーメッセージを表示します:
ERROR 1054 (42S22): Unknown column '191.23.41.10' in 'where clause'
最初にテーブルを作成しましょう:
mysql> create table DemoTable6 ( SystemIPAddress varchar(200) ); Query OK, 0 rows affected (0.46 sec)
以下は、挿入コマンドを使用してテーブルにいくつかのレコードを挿入するためのクエリです。
mysql> insert into DemoTable values('192.68.1.0'); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values('191.23.41.10'); Query OK, 1 row affected (0.12 sec)
これで、selectステートメントを使用してテーブルから特定のレコードを表示できます。
mysql> select *from DemoTable where SystemIPAddress=`191.23.41.10`;
これにより、次の出力が生成されます。つまり、列の値にバックティックを使用したため、エラーが発生します。
ERROR 1054 (42S22): Unknown column '191.23.41.10' in 'where clause'
同じレコードを表示する正しい方法を見てみましょう:
mysql> select *from DemoTable where SystemIPAddress='191.23.41.10';
これにより、次の出力が生成されます。
+-----------------+ | SystemIPAddress | +-----------------+ | 191.23.41.10 | +-----------------+ 1 row in set (0.00 sec)
-
MySQL LIKEクエリを使用して、%を含む列値を検索するにはどうすればよいですか?
%を使用して列の値を検索する場合、構文は次のようになります- select * from yourTableName where yourColumnName LIKE '\%%'; まずテーブルを作成しましょう- mysql> create table DemoTable1497 -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected (0.55 sec) insert-を使用して、テーブルにいくつかの
-
MySQL8で列名として「ランク」を使用できますか?
ランクは、MySQLバージョン8.0.2で定義されているMySQLの予約語です。したがって、ランクを列名として使用することはできません。ランクの周りでバッククォートを使用する必要があります。 まず、作業中のMySQLのバージョンを確認しましょう。ここでは、MySQLバージョン8.0.12を使用しています- mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec) 列名に「ランク」を使用し