用sql語句更新一條記錄,如果不存在就插入,怎麼寫

2022-03-09 04:00:24 字數 2022 閱讀 9485

1樓:匿名使用者

你的除發器沒有觸發條件,再說這也不用除發器啊。用merge就可以。這個就可以達到你的要求的。

用一條sql語句實現:存在則什麼都不幹,不存在,則插入

2樓:刺友互

1、首先準備兩個資料表,如下圖所示,結構需要一樣。

2、接著往第一個資料表先插入一些資料。

3、將第一個中的插入進來。

4、接著編寫插入語句,注意這次直接在insert後面用select獲取資料。

5、然後我們就可以看到第二個資料表中有資料了。

6、最後再進行select查詢資料的時候還可以用where進行篩選。

3樓:

用以下的sql語句結構:

insert into table_name (field_name1, field_name2, ...)

select value_1, value_2, ...    -- 獲取值的查詢, 可以固定值,也可以查表或檢視

where not exists (

...            -- 判斷存在的查詢

)具體的查詢語句要根據不同的資料庫做調整(例如oracle要求select語句後面必須有表或檢視,沒有的話也要用dual替代)。

其實,就是一個查詢語句,根據你的條件得到查詢的結果,然後將查詢結果插入到表中而已。

4樓:

if not object_id(n'tempdb..#t') is null-- 判斷臨時表是否存在

if not exists(select * from table where ...)-- 判斷資料是否存在(這個其實有很多方式)

then

inert into table values()這個就可以表示不存在

5樓:匿名使用者

如果是表與表之間的關係,那麼用merge語句就行。

如果是新插入的內容,要用insert values插入的,那就沒有辦法了,只能是前面加一個判斷。

6樓:

if not exists (select * from table_name where column_name=value )

用exists去判斷

假定判斷的列是:column_name

insert into table_name (column_name1,column_name2)

select column_name1,column_name2 from table_name where column_name not in (select column_name from table_name )

使用 not in ,就是column_name不在 table_name 的column_name中,執行insert into

7樓:匿名使用者

insert select 好像只有複製已有 不存在則插入沒聽過 一條語句我無法實現

delete @there int

select there=count(1) from a

if there=0

begin

insert into

end2個表對比是否存在也算複製 可以用insert select 不明白你的需求

下面是2個表對比不存在則複製

insert into table1(field1,field2,...) (select value1,value2,... from table2

where not exists (select * from tbz_table3 where table2. value1=table3.value1) )

請教mysql一個sql語句,存在則更新,不存在則插入

8樓:匿名使用者

使用replace into,該語句是替換已經存在的語句,如果有則替換,沒有就是新增。注意該語句是覆蓋新增,慎用

寫一條sql語句

select case when yw 80 then 優秀 when yw 60 and yw 80 then 及格 when yw 60 then 不及格 end 語文 case when sx 80 then 優秀 when sx 60 and yw 80 then 及格 when sx 60...

關於mysql中一條sql語句,mysql 只用一條sql語句,如何查出一個表裡,不同條件對應的資料條數

如果兩個表結構一樣可以用union連起來 select from table1 limit 5union all select from table2 limit 10 create table a code varchar 8 create table b code varchar 8 inser...

求教一條sql語句該如何寫,求教個SQL語句寫法,關於去top10的選擇

select a.id,b.name,a.id2,c.namefrom 表1 a,表2 b,表2 c where a.id b.id and a.id2 c.id 語句 select table1.id,a1.姓名,table1.id1,a2.姓名 from table1 inner join ta...