我試圖通過C#創建一個MySql存儲過程。我也創建了一些其他的,但是當我嘗試通過MySqlCommand.ExecuteNonQuery
執行查詢時,它會拋出一個異常,您查詢的語法不兼容。以下是異常消息:MySql查詢語法錯誤
您的SQL語法錯誤; 檢查對應 你的MySQL服務器版本使用附近的 正確的語法手冊 'SET VariableRecordExists =(SELECT COUNT(*)FROM SmartCache_Sync WHERE MachineNa' 第10行
在這裏,我我試圖建立查詢字符串:
string sql = @"CREATE PROCEDURE SmartCache_UpdateSync
(
VariableMachineName varchar(50)
)
BEGIN
DECLARE VariableRecordExists int;
DECLARE VariableSetDate datetime;
START TRANSACTION;
SET VariableSetDate= Now()
SET VariableRecordExists = (SELECT COUNT(*) FROM SmartCache_Sync WHERE MachineName = VariableMachineName)
IF VariableRecordExists = 1
THEN
UPDATE SmartCache_Sync
SET LastUpdate = VariableSetDate
WHERE MachineName= VariableMachineName;
ELSE
INSERT INTO SmartCache_Sync
(MachineName,LastUpdate)
VALUES (VariableMachineName,VariableSetDate);
END IF;
COMMIT;
SELECT VariableSetDate;
END";
我不知道我犯了一個錯誤也許我缺少一個分號;
somewh還是什麼。如果有人能幫助我,我將不勝感激。
它不工作,說實話我有一個預感它不會工作 – Omayr 2011-05-04 11:11:27