【问题标题】:MYSQL Insert on DuplicateMYSQL 插入重复
【发布时间】:2023-03-19 23:55:01
【问题描述】:

我正在尝试运行以下语句:

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

有什么建议吗?

谢谢

【问题讨论】:

  • 移除(),仅使用english='dv',indonesian='ev',japanese='fv'

标签: mysql


【解决方案1】:

跳过 ()..

 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

【讨论】:

  • 另外,您可以使用 VALUES() 而不是重新指定数据,即ON DUPLICATE KEY UPDATE english = VALUES(english), indonesian = VALUES(indonesian), japanese = VALUES(japanese),因为它也可以使用正确的值更新多行插入
  • 完美...谢谢...会在时间限制到期后打勾...干杯
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-04
相关资源
最近更新 更多