C# mysql查询范围\u标识错误
嘿,伙计们,我正在努力解决这个错误,真的很困难,请帮助我 我使用c和mysql连接器,我写了一个类似这样的查询C# mysql查询范围\u标识错误,c#,mysql,C#,Mysql,嘿,伙计们,我正在努力解决这个错误,真的很困难,请帮助我 我使用c和mysql连接器,我写了一个类似这样的查询 INSERT INTO employee VALUES(...); SELECT last_insert_id(); 但出于某种原因,我不断地出现这个错误: "You have an error in your SQL syntax; check the manual that corresponds to your MySql server version for the righ
INSERT INTO employee VALUES(...); SELECT last_insert_id();
但出于某种原因,我不断地出现这个错误:
"You have an error in your SQL syntax; check the manual that corresponds to your MySql server version for the right syntax to use near 'SELECT scope_identity()' at line 1".
关于这个错误我没有得到的部分是,我没有在代码的任何地方写scope_标识
我甚至删除了SELECT last_insert_id;我的问题的一部分,但由于一些奇怪的原因,我仍然得到相同的错误
[编辑]
这完美地生成了查询,但最后添加了scope\u identity而不是last\u insert\u id
字符串插入=插入员工值
字符串选择=选择最后一个\u插入\u id 这里有点可疑。。。你能发布实际的查询和执行它所使用的C代码吗?他应该能够在一个查询中做到这一点,就像他自己在回复MonTy时做了很多次一样,但Eric是对的。它应该像我拥有的一样工作,+就像我说的,我甚至尝试删除select语句,但它仍然给出相同的错误:使它工作:P我创建的dll有问题。所以我将代码从中复制粘贴到一个新的dll:P
public static MySqlCommand insert(string tableName, params object[] values)
{
string sqlQuery = "INSERT INTO " + tableName + " VALUES(";
for (int i = 0; i < values.Count(); i++)
{
if (i == values.Count() - 1 && values[i] is string)
{
sqlQuery = sqlQuery + "'" + values[i] + "'";
}
else if (i == values.Count() - 1 && values[i] is int)
{
sqlQuery = sqlQuery + values[i];
}
else if (values[i] is string || values[i] is DateTime)
{
sqlQuery = sqlQuery + "'" + values[i] + "', ";
}
else if (values[i] is int)
{
sqlQuery = sqlQuery + values[i] + ", ";
}
}
sqlQuery = sqlQuery + "); SELECT LAST_INSERT_ID(); ";
MySqlCommand cmd = new MySqlCommand(sqlQuery);
return cmd;
}