gpt4 book ai didi

c# - 具有@符号的列名

转载 作者:行者123 更新时间:2023-11-29 10:16:03 29 4
gpt4 key购买 nike

我正在使用 C# 代码执行动态生成的 MySQL 查询。抛出异常:

CREATE TABLE dump ("@employee_OID" VARCHAR(50)); 

"{"You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '\"@employee_OID\" VARCHAR(50))' at line 1"}"

我无法跳过列名称中的“@”符号。

手动地,使用MySQL Workbench,我可以在执行以下查询后执行它。

SET sql_mode='ANSI_QUOTES';

以下是我能够生成的代码:

MySqlConnection conn = null;
MySqlCommand cmd = null;
string mySQLConnectionString = ConfigurationManager.AppSettings["MySQLAutomationServerConnectionString"];
//Dynamically getting generated using some other code
string sqlQueryString = "CREATE TABLE dump ("@employee_OID" VARCHAR(50));";

try
{
conn = new MySqlConnection(mySQLConnectionString);
conn.Open();
cmd = new MySqlCommand(sqlQueryString, conn);
executionResultStatus = cmd.ExecuteNonQuery();

}
catch (MySqlException ex)
{
Console.WriteLine("MySQL Exception: " + ex.Message.ToString());
}

我尝试执行“SET sql_mode='ANSI_QUOTES';”在执行此代码之前使用代码执行此查询之前,它不起作用。我该怎么办?

最佳答案

将命令更改为

string sqlQueryString = "CREATE TABLE dump (`@employee_OID` VARCHAR(50));";

请注意有问题的名称前后有两个反引号 (ALT+096)
这将允许您的引擎忽略用于标识参数的字符@

关于c# - 具有@符号的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50102110/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com