为什么在尝试将数据插入行时会收到 SQL 语法错误?

Dav*_*yre 0 c# mysql syntax-error

尝试将一行写入数据库时​​,我遇到了一个奇怪的 MYSQL 错误 - 我发现的有关该主题的每个解决方案都没有帮助。正在传递的查询是这样的:

"INSERT INTO StaffData (StaffID,Sort,Name,Department,Occupation,Roles,Phone,Email,Notes,Password) VALUES (@StaffID,@Sort,@Name,@Department,@Occupation,@Roles,@Phone,@Email,@Notes,@Password) ON DUPLICATE KEY UPDATE"
Run Code Online (Sandbox Code Playgroud)

返回值是:

“您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以获取在第 1 行附近使用的正确语法”

对我来说奇怪的部分是它没有说明语法错误在哪里,我不确定为什么。我发现的此错误的每个其他实例至少都提供了这一点。

任何帮助将不胜感激 - 提前致谢!

Lio*_*oft 5

您的错误在于"ON DUPLICATE KEY UPDATE".

您不能在那里结束查询,MYSQL 要求您准确指定应该更新哪些字段以及如何更新。可以在此处找到有关如何执行此操作的文档。