我有一個名爲tableExists的函數。它可以用來檢查表格的存在。我想在數據庫升級腳本中使用它。我可以使用這樣的功能:MySQL如果語句失敗
select myDb.tableExists('myDb', 'someTable') as cnt into @exists;
而且看到的結果是這樣的:
mysql> select @exists;
+---------+
| @exists |
+---------+
| 1 |
+---------+
現在,我想在if語句中使用它,其次是CREATE TABLE語句。但是,如果我有問題。以下是我想要測試的內容:
mysql> IF (@exists = 1) THEN
-> select 'exists'
-> END IF;
ERROR 1064 (42000): 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 'IF (@exists = 1) THEN
select 'exists'
END IF' at line 1
我在這裏錯過了什麼?這應該很簡單。
你想要完成什麼?這似乎對我來說是個黑暗的魔法 – 2013-02-25 18:40:24
MySQL流控制語句「IF/ELSE/WHILE ...」意味着在存儲過程或函數的上下文中執行,而不是交互式地執行 – 2013-02-25 18:40:29