2012-04-20 37 views
1

我试图运行下面的语句MYSQL插入:上的重复

INSERT INTO table (
    as, 
    ad 
    ,af, 
    ag, 
    ah, 
    aj 
)          
VALUES (
    'a', 
    'b', 
    'c', 
    'd', 
    'e', 
    'f' 
) 
ON DUPLICATE KEY UPDATE (
    aj='dv', 
    ah='ev', 
    ag='fv' 
); 

,并得到以下错误:

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 '(ag='dv',ah='ev',ah='fv')' 
at line 3 

有什么建议?

THX

+2

删除'()',只使用'英语= 'DV',印度尼西亚= 'EV',日本=” fv'' – 2012-04-20 10:42:41

回答

5

跳过()..

INSERT INTO site_domains_meta 
(domainname,metatype,pagename,english,indonesian,japanese) 
    VALUES ('a','b','c','d','e','f') 
    ON DUPLICATE KEY UPDATE english='dv',indonesian='ev',japanese='fv'; 

http://dev.mysql.com/doc/refman/5.5/en/insert.html

+1

另外,您可以使用VALUES()而不是重新指定数据,例如'ON DUPLICATE KEY UPDATE english = VALUES(english),indonesian = VALUES(indonesian),japanese = VALUES(japanese)'as as then它可以更新多行插入正确的值 – 2012-04-20 10:49:07

+1

完美... thx一旦时间限制到期,...会打勾......欢呼声 – Adam 2012-04-20 10:49:18