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

引用符の使用法を解決するエラー1064(42000):SQL構文にエラーがあります。使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。


MySQLでは、バックティックである2つの異なるタイプの引用符を使用でき、もう1つは一重引用符または二重引用符です。この場合、列名に一重引用符を使用している可能性があるため、エラーが発生します。一重引用符の代わりにバックティック記号( ``)を使用する必要があります。バックティックは列名で使用でき、一重引用符は文字列で使用できます。

上記のエラーを理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table Backtick_SymbolDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(20),  
   -> FileName varchar(30),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.81 sec)

以下に示すように、列の前後にバックティック記号の代わりに一重引用符を使用すると、エラーが発生します。ここでは、一重引用符で値を挿入しましたが、エラーが表示されます-

mysql> insert into Backtick_SymbolDemo(`Name`,'FileName') values('John','Sum.cpp');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''FileName') values('John','Sum.cpp')' at line 1

このエラーを回避するには、すべての列名の前後にバックティック記号を使用するか、バックティックまたは一重引用符の両方を使用しないでください。

レコードを挿入するためのクエリは次のとおりです。両方の列名の前後にバックティック記号を使用しています。

mysql> insert into Backtick_SymbolDemo(`Name`,`FileName`) values('John','Sum.cpp');
Query OK, 1 row affected (0.12 sec)

これは、バックティック記号を使用しない挿入レコードです。クエリは次のとおりです-

mysql> insert into Backtick_SymbolDemo(Name,FileName) values('Larry','SocketProgram.java');
Query OK, 1 row affected (0.23 sec)
mysql> insert into Backtick_SymbolDemo(Name,FileName) values('Mike','UserCreationScript.sql');
Query OK, 1 row affected (0.10 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from Backtick_SymbolDemo;

以下は出力です-

+----+-------+------------------------+
| Id | Name  | FileName               |
+----+-------+------------------------+
|  1 | John  | Sum.cpp                |
|  2 | Larry | SocketProgram.java     |
|  3 | Mike  | UserCreationScript.sql |
+----+-------+------------------------+
3 rows in set (0.00 sec)

  1. MySQLエラー#1064を修正します-SQL構文にエラーがあります…'TYPE =MyISAMの近くですか?

    このエラーは、ENGINENAMEにTYPEを使用した場合に発生します。エラーは次のとおりです- mysql> create table DemoTable1836      (      ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,      ClientName varchar(20)      )Type=MyISAM AUTO_INCREMENT=1; ERROR 1064 (42000): You have

  2. MySQLサーバーに接続するためのコマンドオプション

    接続が暗号化されているか、圧縮されているかどうかにかかわらず、クライアントプログラムがサーバーへの接続を確立する方法を制御するMySQLクライアントプログラムでサポートされているオプションを見てみましょう。 これらのオプションは、コマンドラインまたはオプションファイルで指定することもできます。下記のコマンドオプションは、接続の確立に使用できます- --default-auth:使用する必要があるのは認証プラグインです。 --host:MySQLサーバーが配置されているホストです。 --password:サーバーに接続するときに使用する必要のあるパスワードです。 --p