C# 无法弄清楚我的 MySql 命令字符串出了什么问题(语法错误)

本文关键字:问题 什么 语法 错误 字符串 弄清楚 我的 命令 MySql | 更新日期: 2023-09-27 18:32:43

我正在使用MySql.Data库来访问我的MySql数据库,并且在其中一个表中输入行时遇到了一些困难。有人可以检查我在这里提供的内容并指出问题所在吗?

以下是我的 MySql 数据库中的列名:

ID
Full Name
Date of Birth
City
State/Province/Region
Zip Code
Country
Phone Number
Email Address
Ticket Number
Registration Time

这是我的命令字符串(当我使用字符串时,它变得完整。使用函数中的参数作为值的格式):

string commandString = "INSERT INTO Participants (ID,Full_Name,Date_of_Birth,City,State/Province/Region,Zip_Code,Country,Phone_Number,Email_Address,Ticket_Number,Registration_Time) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}');";

以下是异常消息:

您的 SQL 语法有误;请查看手册 对应于您的MySQL服务器版本,以便使用正确的语法 近 "州/省/地区",Zip_Code,国家,Phone_Number,Email_Address,Ticket_Numbe" 在 1 号线

提前感谢!

C# 无法弄清楚我的 MySql 命令字符串出了什么问题(语法错误)

尝试通过用

反引号 (') 将 State/Province/Region 列的名称括起来来对其进行转义。有关更多信息,请参阅此处。

此外,您正在尝试在不调用 String.Format 的情况下存储格式化字符串。

尝试这样的事情:

string commandString = String.Format("INSERT INTO Participants (ID,Full_Name,Date_of_Birth,City,`State/Province/Region`,Zip_Code,Country,Phone_Number,Email_Address,Ticket_Number,Registration_Time) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}');",
                                     value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10);

只需将value0value1等变量替换为您的值即可。