簡體   English   中英

SQL替換或插入語法錯誤

[英]SQL Replace or Insert Into Syntax error

我無法弄清楚出了什么問題。 我的查詢如下所示:

INSERT OR REPLACE INTO lang (name, string, lang) VALUES ('PAGE_TITLE', 'Page Title', 'en')

這是我執行該查詢的地方:

foreach($lang_fields as $field){
    $update = "INSERT OR REPLACE INTO lang (name, string, lang) 
            VALUES ('".mysqli_real_escape_string($conn, $field)."', 
                    '".mysqli_real_escape_string($conn, $_POST[$field])."', 
                    '".mysqli_real_escape_string($conn, $_POST['lang_load'])."')";
    echo $update;
    $sql = mysqli_query($conn, $update)
        or die(mysqli_error($conn));
}

這是錯誤:

您的SQL語法有錯誤; 檢查與MySQL服務器版本對應的手冊,以便在'OR REPLACE INTO lang(name,string,lang)VALUES('PAGE_TITLE','P'在第1行附近使用正確的語法

MySQL不支持我見過的任何INSERT OR REPLACE INTO語法。 您可能正在尋找類似INSERT INTO ... ON DUPLICATE KEY UPDATE 在您的示例中,它可能如下所示:

INSERT INTO myTable (name, string, lang) VALUES (param1, param2, param3)
ON DUPLICATE KEY UPDATE name = param1, string = param2, lang = param3;

更多信息可以在這里的文檔中找到: https//dev.mysql.com/doc/refman/5.0/en/insert.html

使用此SQL Fiddle可以找到此示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM