MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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)

  1. MySQL LIKEクエリを使用して、%を含む列値を検索するにはどうすればよいですか?

    %を使用して列の値を検索する場合、構文は次のようになります- select * from yourTableName  where yourColumnName LIKE '\%%'; まずテーブルを作成しましょう- mysql> create table DemoTable1497    -> (    -> Name varchar(20)    -> ); Query OK, 0 rows affected (0.55 sec) insert-を使用して、テーブルにいくつかの

  2. 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) 列名に「ランク」を使用し