解決引號使用錯誤 ERROR 1064 (42000): Your SQL syntax has an error; check the manual that corresponds to your MySQL server version for the right syntax to use?
在 MySQL 中,您可以使用兩種不同的引號型別,一種是反引號,另一種是單引號或雙引號。在這種情況下,您可能正在對列名使用單引號,因此出現錯誤。您需要使用反引號(` `)代替單引號。反引號可用於列名,而單引號可用於字串。
為了理解上述錯誤,讓我們建立一個表。建立表的查詢如下所示:
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)
廣告