天天看點

Sqlite和Mysql和SqlServer中insert … select … where not exist的用法

Sqlite和Mysql和SqlServer中insert … select … where not exist的用法

下面介紹Mysql和Sqlite和Sqlserver中,根據select的條件判斷是否插入。例如:

一、Mysql中:

  INSERT INTO books (name) SELECT 'SongXingzhu' FROM dual WHERE NOT EXISTS (SELECT id FROM books WHERE id = 1)

二、Sqlite中:

  由于Sqlite中沒有臨時表:dual 

  是以,需要這樣寫

  INSERT INTO books (name)  SELECT 'Songxingzhu'  WHERE NOT EXISTS (SELECT id FROM books WHERE id = 1)

三、Sqlserver中:

  SqlServer中需要另一種寫法:

  IF NOT EXISTS (SELECT id FROM books WHERE id = 1)  INSERT INTO books (name) SELECT 'Songxingzhu'

宋興柱(Sindrol):轉載内容,請标明出處,謝謝!源文來自 寶貝雲知識分享:https://www.dearcloud.cn