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

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

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

【问题讨论】:

  • 你用的是什么关系型数据库?
  • 在互联网上搜索 UPSERT。在搜索中包含您正在使用的 RDBMS 品牌。
  • 如果您使用的是ORACLE,请查看MERGE 语句

标签: sql insert exists


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 2014-07-22
    • 2019-12-10
    相关资源
    最近更新 更多