【问题标题】:What's wrong with this sql update statement?这个 sql update 语句有什么问题?
【发布时间】:2014-05-13 14:24:34
【问题描述】:

我正在尝试在 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])+"');" 

使用“0”参数调用“ExecuteNonQuery”时出现异常:“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册以获取正确的语法 靠近 'IF @@ROWCOUNT=0 INSERT INTO signups (email,date,offer) VALUES ('morenonancy50@ya' at line 1"

【问题讨论】:

    标签: mysql powershell


    【解决方案1】:

    在您的 SQL 命令的末尾有一个额外的 '

    这是您的代码在 ) 之后的最后一部分,您将看到额外的 '

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

    所以试试这个而不用额外的'

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

    我只想把它放在评论中,但我没有代表。 :)

    【讨论】:

    • 是的,这是一个问题,但我删除了多余的 ' ,它给了我同样的错误。它似乎不喜欢 IF @@ROWCOUNT=0
    • 可能是 $sql.ExecuteNonQuery() 导致了问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 2014-05-08
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 2013-11-06
    • 2011-04-17
    相关资源
    最近更新 更多