C# 关于重复密钥语法错误
我想在我的表中执行insert操作,但当找到重复的键时,必须对特定列进行更新,因此我使用了重复键SQL函数,调试器显示此错误: 您的SQL语法有错误;检查手册 对应于要使用的正确语法的MariaDB服务器版本 第1行附近的“重复键未日期超时=”0“+”2“” 这是我的密码:C# 关于重复密钥语法错误,c#,sql,C#,Sql,我想在我的表中执行insert操作,但当找到重复的键时,必须对特定列进行更新,因此我使用了重复键SQL函数,调试器显示此错误: 您的SQL语法有错误;检查手册 对应于要使用的正确语法的MariaDB服务器版本 第1行附近的“重复键未日期超时=”0“+”2“” 这是我的密码: query = "insert into regrouper values('" + nummach + "','" + numpan + "','" + date.ToString(format) + "','" + ti
query = "insert into regrouper values('" + nummach + "','" + numpan + "','" + date.ToString(format) + "','" + timeout + "') on duplicated key undate timeout ='"+oldtime+"'+'"+timeout+"'";
commandDatabase = new MySqlCommand(query, databaseConnection);
MySqlDataReader myReader4 = commandDatabase.ExecuteReader();
我想这只是一个拼写错误。。 写“更新”而不是未注明日期
检查你的拼写。对于字符串连接,最好使用string.Format
query = string.Format(
"insert into regrouper values('{0}','{1}','{2}','{3}') on duplicate key update timeout ='{4}'+'{3}'",
nummach, numpan, date.ToString(format), timeout);
关于重复密钥更新
而不是关于重复密钥更新
。但是,您也需要使用参数化查询,而不是大量使用查询字符串。任何时候您有SQL问题,都需要告诉我们您使用的是什么版本的SQL(SQL Server?MySQL?Oracle?PostgreSQL?),因为语法不同。好的,谢谢您的帮助问题在于您的拼写。它的“复制键”不是复制键在修复了复制到复制和未日期更新后,它会自动工作
query = string.Format(
"insert into regrouper values('{0}','{1}','{2}','{3}') on duplicate key update timeout ='{4}'+'{3}'",
nummach, numpan, date.ToString(format), timeout);