当有相同数据时不操作,没有时插入新数据

Posted 一轮明月随潮涌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当有相同数据时不操作,没有时插入新数据相关的知识,希望对你有一定的参考价值。

为防止多次插入数据,要先判断,但是如果使用:

1、如果直接这样写:

INSERT INTO `diagnose`
(`user_id`,`is_done`,`create_time`) VALUES ( 1,0,now())
WHERE NOT EXISTS(SELECT 1 FROM `diagnose` WHERE `user_id`= 1 AND` is_done`=0)

会报错,因为VALUES之后不能再用where判断;

2、这样写才对

INSERT INTO `diagnoses`
(`user_id`,`is_done`,`create_time`)
SELECT 1,0,now()
from `diagnoses`
where not exists(
select 1
from `diagnoses`
where `user_id` = 1
and `is_done` = 0
) LIMIT 1

 

 

以上是关于当有相同数据时不操作,没有时插入新数据的主要内容,如果未能解决你的问题,请参考以下文章

C#在Sqlserver数据库中设置字段,在插入操作时不插入数据,有问题吗?

java线程锁

python参数传递时不构造新数据

Mysql Innodb 表碎片整理

多线程题

Play Framework,Scala - 仅当有新数据可用时才向客户端发送 websocket 消息