insert into 语句 怎么实现 如果插入的值有重复 那么就直接覆盖呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了insert into 语句 怎么实现 如果插入的值有重复 那么就直接覆盖呢?相关的知识,希望对你有一定的参考价值。

例如 表名suid

列名字:icd uid cd
数据 11 222 9
22 555 10
insert into suid VALUES(22,555,12);当插入这样一条数据的时候 发现前两列有重复的 直接 覆盖 这条数据 该怎么写?以前记得学过现在全还给老师了 求高手指点

用merge into 来插入,己有的记录更新,没有的记录插入
或者写PL/SQL,先更新,找不到记录则插入
begin
update suid set cd=xxx where icd=xxx and uid=xxx;
if sql%notfound then
insert into suid(icd,uid,cd) values(xxx,xxx,xxx);
end if;
end;
参考技术A 没有设置唯一
会重复插入一条

设置唯一 写入错误

insert into 插入数据问题

表1有字段 a,b,c,d
表2有字段 a,d,e,f
现在要在表一插入数据,其中数据d是表2中的数据,两表以字段a向关联。
问:如何使用一次insert实现该操作。
表1中 a,b,c是传过来的值,d的值是需要通过表2中的a关联得到,并且只要表2中d的值,其他不要;2个表的a值都是物件的ID,一样的。
然后插入到表1中

参考技术A 问都不会问

应该是 有表2 字段a,d,e,f
想网表1插入数据 字段a,b,c,d a,d都是表2的数据
你现在是插入数据,表1可能有数据 也可能是空表 不用说什么关联。

你的b和c是什么?

应该有个循环,循环读取表2的数据然后插入数据。

楼上的几位都不对
参考技术B 只要字段数据类型兼容,而且主外键设置好一般的插入是这样的,直接冲2表查数据然后插入1表
insert into table1 select * from 2
参考技术C insert into 表1(a, b, c, d)value ('a','b','c',(select d from 表1,表2 where 表1.a = 表2.a ))

gududao2002 - 你B吃完这不对那不对 你把SQL给人家写出来 后台代码写出来 操 说那有胡子没牙的B话本回答被提问者采纳
参考技术D insert into 表1 (表1第二个字段)SELECT 表2第二个字段 FROM 表2 where
表1.第1个字段=表2.第1个字段;
第5个回答  2009-07-23 插入的时候直接把d列的值该为表2中的值就可以了

以上是关于insert into 语句 怎么实现 如果插入的值有重复 那么就直接覆盖呢?的主要内容,如果未能解决你的问题,请参考以下文章

用insert into 怎么添加多条记录

sql 编辑中,要是有数据就update,数据为空就insert into 怎么实现,下图

MySQL INSERT插入条件判断:如果不存在则插入

insert语句执行速度慢应该怎么解决

Oracle中如何用一条insert into 语句插入多条数据 如: insert into 表 values(多条数据)????????

insert into与insert ignore以及replace into的区别