#新建表
create table t_user
usernamevarchar(100),
gender varchar(2)
#帶條件插入,如果表中沒有username='name1'的記錄,就插入,否則就不插入
insert into t_user
select 'name1','m'
from dual
where not exists(
select username #這裡是select 1 或者select 列名都行
from t_user
where username='name1'
注意,必須是from dual這個虛擬表,不能是from t_user表,否則t_user表中有幾條記錄,就會插入幾條 'name1','m『 的記錄. 以下的sql是錯的!錯的!錯的!
insert into t_user
select 'name2','m'
from t_user
where not exists(
select username
from t_user
where username='name2'
以前一直用的sqlserver,改為mysql之後,以為基本的怎刪改查語法都一樣。卻踩了這麼個大坑,花了好長時間才找到原因.
mysql 動態插入 MySql條件插入動態值
所以在我解釋我的問題之前,這裡有一些 定義,以幫助說明我的問題 holds data about different memberships create table if not exists member types id int unsigned not null auto increment...
mysql事務條件插入 mysql事務
1.事務 是指一組不可分割的邏輯單位,由acid四大屬性來描述 1 原子性 是指一組sql要麼全做完commit,要不就rowback。2 一致性 是指事務要從乙個一致性狀態變為另乙個一致性行狀態,這裡的一致性是指資料完整性和業務邏輯的一致性。3 永續性 是指一旦事務提交後對資料庫的改變是永久性的,...
mysql批量插入資料 MySQL中批量插入資料
例1 方法一 sql語句操作 delimiter 以delimiter來標記用 表示儲存過程結束 create procedure pre 建立pre 儲存方法 begin declare i int 定義i變數 set i 2 while i 53 do insert into lineinfo ...