将 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 的行中?的主要内容,如果未能解决你的问题,请参考以下文章