2015-02-06 567 views
0

錯誤MYSQL錯誤#1064 - 如何解決它?

SQL查詢:

IF EXISTS (SELECT * FROM 06/02/2015 WHERE `ID` = '1') 
    INSERT INTO 06/02/2015 SET `text` = '[22:37:44] test' 
ELSE 
    CREATE TABLE `06/02/2015` (`ID` int(11) NOT NULL auto_increment, `text` varchar(255) NOT NULL default '', PRIMARY KEY (`ID`)) 
    INSERT INTO `06/02/2015` SET `text` = '[22:37:44] test' 

MySQL表示:

#1064 - Erreur de syntaxe près de 'IF EXISTS (SELECT * FROM 06/02/2015 WHERE `ID` = '1') 
    INSERT INTO 06/02/2015 S' Ã la ligne 1 

如何解決呢? 我做對了嗎?

+1

'if'作爲語句只能在代碼塊中使用,例如在存儲過程,函數和觸發器中。所以,如果這不在代碼塊中,那麼它是不正確的。 – 2015-02-06 20:56:10

+4

因爲什麼時候是'06/02/2015'任何地方**關閉**是一個有效的表名,甚至有效的MySQL日期?你有'select * from 06/02/2015',這將做DIVISION並且等同於'select * from 0.0014895 ...' – 2015-02-06 20:56:27

+0

我使用谷歌翻譯,所以如果你可以寫一個更簡單的... 對不起關於這一點,並感謝您的幫助 – Ben 2015-02-06 21:03:52

回答

0
06/02/2015 

此代碼段無效,因爲這不是有效的表名。

+0

@ rick6#1064 - Erreur de syntaxeprèsde'IF EXISTS(SELECT * FROM'test' WHERE'ID' ='1') INSERT INTO'test' SET'text'à la ligne 1 – Ben 2015-02-06 21:01:53