在数据库中插入一条数据。但是在插入之前要判断数据库中最后一条时候和这条是否相同

时间:2021-12-17 23:46:02
在数据库中插入一条数据,但是在插入之前要判断数据库中最后一条是否和这条相同,如果相同就不执行插入,如果不相同才插入。
这个过程能用SQL写出来么?

15 个解决方案

#1


用触发器,用 if exists 判断一下.

#2


if not exists。。。
begin
。。。。
end

#3


引用 1 楼 xuam 的回复:
用触发器,用 if exists 判断一下.
在数据库中插入一条数据。但是在插入之前要判断数据库中最后一条时候和这条是否相同还不大熟悉啊。。。

#5


引用楼主 arpnet99 的回复:
在数据库中插入一条数据,但是在插入之前要判断数据库中最后一条是否和这条相同,如果相同就不执行插入,如果不相同才插入。
这个过程能用SQL写出来么?

假设你根据ID的大小来区分先后.

if exists(select 1 from tb where id = (select max(id) from tb) and 其他条件)
   不插入...
else
   插入...

#6


引用 5 楼 dawugui 的回复:
引用楼主 arpnet99 的回复:
在数据库中插入一条数据,但是在插入之前要判断数据库中最后一条是否和这条相同,如果相同就不执行插入,如果不相同才插入。
这个过程能用SQL写出来么?

假设你根据ID的大小来区分先后.

if exists(select 1 from tb where id = (select max(id) from tb) and 其他条件)
  不插入...……

根据一个名为:OTHERINFO 的int型字段来判断。

#7


引用 6 楼 arpnet99 的回复:
引用 5 楼 dawugui 的回复:
引用楼主 arpnet99 的回复:
在数据库中插入一条数据,但是在插入之前要判断数据库中最后一条是否和这条相同,如果相同就不执行插入,如果不相同才插入。
这个过程能用SQL写出来么?

假设你根据ID的大小来区分先后.

if exists(select 1 from tb where id = (select max(id) from t……


根据你的表的id字段,也就是相当于主键,而且是按照从小到的的排序的字段

#8


这不是Merge操作的SHOW TIME么。。。

#9


引用 7 楼 travylee 的回复:
引用 6 楼 arpnet99 的回复:

引用 5 楼 dawugui 的回复:
引用楼主 arpnet99 的回复:
在数据库中插入一条数据,但是在插入之前要判断数据库中最后一条是否和这条相同,如果相同就不执行插入,如果不相同才插入。
这个过程能用SQL写出来么?

假设你根据ID的大小来区分先后.

if exists(select 1 from tb where id =……

我应该是先读取一行的一个特定的字段,判断一下,如果存在就不插入,如果不存在就插入。
如果用代码写的话,是这个流程。
但是我感觉如果SQL能实现的话,会更好,所以就特意来问问。

#10


引用 9 楼 arpnet99 的回复:
引用 7 楼 travylee 的回复:
引用 6 楼 arpnet99 的回复:

引用 5 楼 dawugui 的回复:
引用楼主 arpnet99 的回复:
在数据库中插入一条数据,但是在插入之前要判断数据库中最后一条是否和这条相同,如果相同就不执行插入,如果不相同才插入。
这个过程能用SQL写出来么?

假设你根据ID的大小来区分先后.

if exists(sele……


可以这样

#11


来晚了,

#12


if exist(select 你查的东东 from 你的表 where 你的条件筛选)
  这里是你不插入要写的语句,如果什么都没有可以不写
else
  这里是如果没有,就插入的语句
  -----------
go

#13


该回复于2012-03-19 22:38:05被版主删除

#14


引用 1 楼 xuam 的回复:
用触发器,用 if exists 判断一下.
这个用触发器要方便哦!

#15


5楼大牛的方法很好使。
这个板块的兄弟们都很有热心啊...
过几天在这个版块里给兄弟们散分...
在数据库中插入一条数据。但是在插入之前要判断数据库中最后一条时候和这条是否相同

#1


用触发器,用 if exists 判断一下.

#2


if not exists。。。
begin
。。。。
end

#3


引用 1 楼 xuam 的回复:
用触发器,用 if exists 判断一下.
在数据库中插入一条数据。但是在插入之前要判断数据库中最后一条时候和这条是否相同还不大熟悉啊。。。

#4


#5


引用楼主 arpnet99 的回复:
在数据库中插入一条数据,但是在插入之前要判断数据库中最后一条是否和这条相同,如果相同就不执行插入,如果不相同才插入。
这个过程能用SQL写出来么?

假设你根据ID的大小来区分先后.

if exists(select 1 from tb where id = (select max(id) from tb) and 其他条件)
   不插入...
else
   插入...

#6


引用 5 楼 dawugui 的回复:
引用楼主 arpnet99 的回复:
在数据库中插入一条数据,但是在插入之前要判断数据库中最后一条是否和这条相同,如果相同就不执行插入,如果不相同才插入。
这个过程能用SQL写出来么?

假设你根据ID的大小来区分先后.

if exists(select 1 from tb where id = (select max(id) from tb) and 其他条件)
  不插入...……

根据一个名为:OTHERINFO 的int型字段来判断。

#7


引用 6 楼 arpnet99 的回复:
引用 5 楼 dawugui 的回复:
引用楼主 arpnet99 的回复:
在数据库中插入一条数据,但是在插入之前要判断数据库中最后一条是否和这条相同,如果相同就不执行插入,如果不相同才插入。
这个过程能用SQL写出来么?

假设你根据ID的大小来区分先后.

if exists(select 1 from tb where id = (select max(id) from t……


根据你的表的id字段,也就是相当于主键,而且是按照从小到的的排序的字段

#8


这不是Merge操作的SHOW TIME么。。。

#9


引用 7 楼 travylee 的回复:
引用 6 楼 arpnet99 的回复:

引用 5 楼 dawugui 的回复:
引用楼主 arpnet99 的回复:
在数据库中插入一条数据,但是在插入之前要判断数据库中最后一条是否和这条相同,如果相同就不执行插入,如果不相同才插入。
这个过程能用SQL写出来么?

假设你根据ID的大小来区分先后.

if exists(select 1 from tb where id =……

我应该是先读取一行的一个特定的字段,判断一下,如果存在就不插入,如果不存在就插入。
如果用代码写的话,是这个流程。
但是我感觉如果SQL能实现的话,会更好,所以就特意来问问。

#10


引用 9 楼 arpnet99 的回复:
引用 7 楼 travylee 的回复:
引用 6 楼 arpnet99 的回复:

引用 5 楼 dawugui 的回复:
引用楼主 arpnet99 的回复:
在数据库中插入一条数据,但是在插入之前要判断数据库中最后一条是否和这条相同,如果相同就不执行插入,如果不相同才插入。
这个过程能用SQL写出来么?

假设你根据ID的大小来区分先后.

if exists(sele……


可以这样

#11


来晚了,

#12


if exist(select 你查的东东 from 你的表 where 你的条件筛选)
  这里是你不插入要写的语句,如果什么都没有可以不写
else
  这里是如果没有,就插入的语句
  -----------
go

#13


该回复于2012-03-19 22:38:05被版主删除

#14


引用 1 楼 xuam 的回复:
用触发器,用 if exists 判断一下.
这个用触发器要方便哦!

#15


5楼大牛的方法很好使。
这个板块的兄弟们都很有热心啊...
过几天在这个版块里给兄弟们散分...
在数据库中插入一条数据。但是在插入之前要判断数据库中最后一条时候和这条是否相同