将 SQL 数据插入具有相同 ID 的行中?

Posted

技术标签:

【中文标题】将 SQL 数据插入具有相同 ID 的行中?【英文标题】:Insert SQL data into row with same id? 【发布时间】:2013-05-23 19:34:36 【问题描述】:

是否有SQL命令将数据插入到id = table id的行中,如果不存在则插入新行?

类似: ('如果用户 ID=ID 存在则插入用户')

【问题讨论】:

你用的是什么关系型数据库? 在互联网上搜索 UPSERT。在搜索中包含您正在使用的 RDBMS 品牌。 ***.com/questions/1361340/… 如果您使用的是ORACLE,请查看MERGE 语句 【参考方案1】:

我这样理解你的问题

INSERT INTO table1(value1, value2) 
SELECT value1, value2 FROM table2where table2.userID =  Id

【讨论】:

不。这不是他想要的。 那么他必须使用sql case语句 尝试在 Google 上搜索 UPSERT SQL。 upsert 在非常数据库中工作吗?我的意思是像 db2 或其他数据库 每个数据库的做法都有些不同。支持SQL 2003及以上标准的可以使用MERGE。【参考方案2】:

你可以这样写一些简单的东西:

IF (SELECT COUNT(t.ID) FROM t WHERE t.ID=@id)=1
    UPDATE
ELSE
    INSERT

【讨论】:

以上是关于将 SQL 数据插入具有相同 ID 的行中?的主要内容,如果未能解决你的问题,请参考以下文章

Arrayformula - 从具有相同键 ID 的行中收集所有文本

用R中不同数据帧中具有相同ID的行中的值替换列中的NA

如何将转换后的行汇总并集中到一个具有相同 ID 的字段中?

使用java在sql中查找具有相同数据的具有相同值的行?

SQL 聚合具有相同 id 的行,辅助列中的特定值

pandas:删除两列中具有相同索引的行中的重复值