2011-03-28 92 views
1

這已被難住了。我幾乎直接將此查詢直接複製到heidiSQL的查詢字段併成功運行。即使查詢語法正確,MySQL也會拋出錯誤

我得到這個錯誤

您的SQL語法錯誤;檢查與您的MySQL服務器版本對應的手冊,以找到在';'附近使用的正確語法。

INSERT INTO dots(`name`, `sambandsnr`, `dslam`, `ip`, `lat`, `lng`, `on' at line 1 

在此查詢

DELETE FROM dots; 

INSERT INTO dots(`name`, `sambandsnr`, `dslam`, `ip`, `lat`, `lng`, `online`) 
VALUES 
    ("...", "...", "...", "...", "...", "...", "..."), 
    ("...", "...", "...", "...", "...", "...", "..."), 
    ("...", "...", "...", "...", "...", "...", "..."), 
    ("...", "...", "...", "...", "...", "...", "..."), 
    ("...", "...", "...", "...", "...", "...", "..."), 
    ("...", "...", "...", "...", "...", "...", "..."), 
    ("...", "...", "...", "...", "...", "...", "..."), 
    ("...", "...", "...", "...", "...", "...", "..."), 
    ("...", "...", "...", "...", "...", "...", "..."), 
    ("...", "...", "...", "...", "...", "...", "..."), 
    ("...", "...", "...", "...", "...", "...", "..."), 
    ("...", "...", "...", "...", "...", "...", "..."); 

真正的腳本有真實的數據和大約800行。真的,我有複製&粘貼前10行並手動運行查詢成功。這完全樹樁我,怎麼能有在1號線

是一個錯誤的任何幫助將不勝感激


編輯:我只是複製整個腳本未能進入查詢編輯器,並運行它。它成功運行。 !?!?!?

+0

我經常在使用保留字時得到這個。但似乎你沒有。你有沒有嘗試縮小,看看它什麼時候休息?嘗試添加沒有列的單行,看看它是否工作。然後逐漸添加列以查看它何時中斷。 – 2011-03-28 12:03:00

回答

4

您似乎一次發送兩個查詢。

可以單獨發送它們,也可以使用多查詢功能來執行此操作(mysqli_multi_query,地址爲PHP)。

要做到這一點,你必須使用MySQLi擴展:MySQL分機不能在一個語句發送多個查詢。

documentation

mysql_query()發送一個唯一的查詢(多個查詢不支持),以當前活動的數據庫與指定link_identifier關聯的服務器上。

+0

我使用mysqli :: query。有沒有一種面向對象的方式來使用你的功能?編輯:mysqli :: multi_query的作品,謝謝 – Hubro 2011-03-28 12:00:39

+0

@Codemonkey:當然,'mysqli :: multi_query' – Quassnoi 2011-03-28 12:01:48