2017-06-10 38 views
-1

我收到了1064錯誤,並帶有以下語句 - 注意:語句的兩個子句都單獨工作。我明白,如果從第一個條款產生任何記錄,那麼第二個條款將被採取行動?我不想使用存儲過程,使用SET @val的技術似乎也失敗了。任何人的想法請好嗎?從表中選擇記錄如果表存在 - 在單一語句中

SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME = 'ft_form_103' WHERE EXISTS (SELECT * FROM 'ft_form_103'); 

回答

0

我無法理解你真正想要什麼,但看着你的腳本他們是一個語法錯誤。我已經糾正了語法,下面的SQL將工作。希望這是你正在尋找的。

SQL: SELECT IFNULL((SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'ft_form_103'), '沒有找到表')AS TABLE_NAME ;;

+0

Hi @ user3454116 ...我需要在'隨機'表名上運行SELECT語句。這些表是用戶指定的,在給定表不存在的情況下,我不希望查詢出錯。我不能在功能代碼中捕獲它,我不能使用存儲過程。我嘗試了你的建議代碼,但是在#1109 - information_schema中的未知表'ft_form_103'失敗了。如果我刪除AND EXISTS語句,代碼工作正常 –

+0

如果表不存在,您希望查詢執行什麼操作? – user3454116

+0

嗨@ user3454116 ...感謝您的回覆和良好的問題!實際上,一旦我證明了查詢,我將把它改爲NOT EXISTS語句,如果用戶選擇了一個不存在的表,我會創建一個「虛擬」返回值,例如不存在(選擇「無效選擇」等等)。更完整地說,我有兩個輸入框;來自第一個的輸入用於構建上述查詢,然後使用其中的記錄填充第二個(下拉)框。我試圖避免這樣的情況,如果用戶指定了一個無效的表,那麼整個事情都會失敗。 –

相關問題