2017-05-25 32 views
0

我知道T-SQL支持PARSEONLY標誌,它檢查有效的腳本並相應地返回一條消息。MySQL中是否存在T-SQL PARSEONLY標誌等價物?

尋找一種方法將命令文本發送到服務器進行分析。一個可行的選擇是C#MySQL解析器,但前者是首選。我寧願在嘗試執行之前進行驗證。

+1

準備聲明會在出現問題時給出錯誤。這不需要執行,只是準備好了。 –

+0

@NigelRen我看到Command.Prepare()的C#方法。研究這是如何工作的。目前看來可行。 – CaptainMarvel

+0

@NigelRen我不得不在連接字符串中添加一個'IgnorePrepare = false',但是如果語句無法準備,它會引發錯誤。這符合我的需求,所以繼續並提交作爲答案,我會接受。這似乎比@ Vix更好 - 答案執行計劃沒有帶入它。 – CaptainMarvel

回答

1

如果出現問題,簡單地準備聲明會給你一個錯誤。這不需要執行,只是準備好了。

1

EXPLAIN聲明是否有效?有一個限制:

EXPLAIN可以使用SELECT,DELETE,INSERT,REPLACE和UPDATE語句。

所以它不是普遍的,但也許這就夠了?

+0

謝謝!現在測試一下。看起來它可能會工作,如果它只是在成功時創建一個執行計劃,並且如果解析失敗則返回錯誤消息。 – CaptainMarvel

相關問題