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

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

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

展开
收起
嘟嘟嘟嘟嘟嘟 2024-05-15 11:50:41 69 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
    赞同 展开评论 打赏

阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。

相关产品

  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 热门讨论

    热门文章

    相关电子书

    更多
    基于阿里云MaxCompute 构建企业云数据仓库CDW的最佳实践建议 立即下载
    PostgresChina2018_陶征霖_新一代数据仓库OushuDB架构剖析 立即下载
    MaxCompute数据仓库数据转换实践 立即下载