如何使用一條mysql語句實現如果查詢到的資料不存在就建立

2021-04-26 06:14:57 字數 1553 閱讀 5480

1樓:山頂與山腳

一條語句實復現的方法不制如儲存過程方便,而且不如儲存過程效率高,樓主寫個儲存過程會比較好

insert into log (date, ip) select '2014-01-01' as date, '192.168.1.

1' as ip from log where not exists ( select * from log t where t.data = '2014-01-01' and t.ip = '192.

168.1.1')

2樓:匿名使用者

mysql 有判斷語法

有四種方式進行判斷:1. show tables like '%tb_bp_d_case%';2.

select table_name from information_schema.tables wheretable_schema='dbname' and table_name='tablename' ;3. 如果表不存在就建立這個表,那麼可以直接用 create table if not exists tablename 這樣版的指令來建立,權不需要先去查詢表是否存在。

4. 從模板表建立表:create table if not exists like old_table_name;

自己去套

3樓:匿名使用者

-- 我這裡

抄假襲設你那個bai  id 是du

自動遞增

zhi的主

dao鍵.

insert into log (date,  ip)select  '2014-01-01', '192.168.1.1'

from  dual

where  not  exists (

select *

from log  t

where  t.data = '2014-01-01'  and  t.ip = '192.168.1.1')

4樓:風華少年

這裡有答案

存在則更新,否則新增(on duplicate key update)(mysql)

5樓:匿名使用者

你把這張表的來 date和ip欄位聯合設定為唯一索源引。

alter table `

bailog` add unique `date_ip` (`date`, `ip`);

然後你du就大膽的insert資料吧。有zhi重複的就報錯插入失dao

敗。然後接著插入下一條就ok。

6樓:匿名使用者

insert into log (date, ip) select '2014-01-01' as date, '192.168.1.

1' as ip from log where not exists (

select *

from log t

where t.data = '2014-01-01' and t.ip = '192.168.1.1')

如何使用SQL語句實現如下更新,如何使用SQL語句實現如下更新?

如果是sqlserver可以這樣實現 先給你說思路,首先用到亂序排列,然後用到分割槽函式select from select row number over partition by staffno order by patindex substring grade,1,1 高,中,初 id,fro...

如何在mysql中查詢當前資料上一條和下一條的記錄

您好,很高興為您解答。方法一 select from table a where id select id from table a where id and other conditions order by id desc limit 1 and other conditions select ...

怎麼在mysql中查詢出的資料只顯示一條

可以使用limit 1,例如 select from t1 limit 1 在後面加limit 1 mysql資料庫裡只有一條資料為什麼查詢出來有兩條重複的資料 20 inner join 會兼顧兩張表,應該是你另一個表裡面那個主鍵的資料有兩條 先確定主表,用left join 或者right jo...