这个sql update语句出了什么问题?

时间:2014-05-13 14:24:34

标签: mysql powershell

我试图在PowerShell中运行它并且它给了我一个错误:

$sql.CommandText = "UPDATE signups set offer='$($fileContents[$line.ReadCount+3])' WHERE email='$line' IF @@ROWCOUNT=0 INSERT INTO signups (email,date,offer) VALUES ('"+$line+"','"+$datefin+"','"+$($fileContents[$line.ReadCount+3])+"');" 

异常调用" ExecuteNonQuery"用" 0"参数:"您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获得正确的语法 在@@ ROWCOUNT = 0附近插入注册(电子邮件,日期,优惠)价值(' morenonancy50 @ ya'在第1行和第34行;

1 个答案:

答案 0 :(得分:0)

在SQL命令结束时,还有一个额外的'

这是你的代码看到的最后一部分,你会看到额外的'

VALUES ('"+$line+"','"+$datefin+"','"+$($fileContents[$line.ReadCount+3])+"')';"

所以试试这个而不需要额外的'

VALUES ('"+$line+"','"+$datefin+"','"+$($fileContents[$line.ReadCount+3])+"');"

我会把它写进一条评论中,但我没有那个代表。 :)