开发者社区 > 数据库 > 数据仓库 > 正文

云数据仓库ADB INSERT INTO SELECT 主键更新

云数据仓库ADB INSERT INTO SELECT 主键更新

展开
收起
嘟嘟嘟嘟嘟嘟 2024-05-15 11:50:41 39 0
1 条回答
写回答
取消 提交回答
  • 在ADB MySQL数据库中,如果想要在插入数据时遇到主键重复的情况下更新现有行,可以使用INSERT ON DUPLICATE KEY UPDATE语句。这个语句首先尝试插入新行,但当插入的数据导致主键冲突时,它将转而执行ON DUPLICATE KEY UPDATE部分指定的更新操作,从而更新已有行的指定字段。
    例如,如果有一个表student_course,并且你想在user_id重复时更新course_name和business_id,你可以这样写SQL语句:
    INSERT INTO student_course (id, user_id, nc_id, ..., business_id)
    VALUES(277942, 11056941, ..., 'kuaiji')
    ON DUPLICATE KEY UPDATE
    course_name = '工业会计实战V9.0--66',
    business_id = 'kuaiji';
    在这个例子中,如果插入的记录中user_id与表中已有的记录重复,那么这条记录不会被插入,而是会更新该重复记录的course_name和business_id字段。
    此回答整理自钉群“云数据仓库ADB-开发者群”

    2024-05-15 12:48:25
    赞同 展开评论 打赏

相关产品

  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 相关电子书

    更多
    消电行业数据中台解决方案白皮书 立即下载
    (终极版)2020阿里云金融数据中台报告 立即下载
    2020年中国乳制品行业数据中台研究报告 立即下载