cubrid的中sql查詢語法insert into 官方文檔是英文的,看不明白可以參看ocracle的同類函數說明.很多都是一樣的. INSERT INTO a_tbl1(id) VALUES (4), (5); insert a single row with SET clauses INSER
cubrid的中sql查詢語法insert into
------ 官方文檔是英文的,看不明白可以參看ocracle的同類函數說明.很多都是一樣的.
INSERT INTO a_tbl1(id) VALUES (4), (5);
--insert a single row with SET clauses
INSERT INTO a_tbl1 SET id=6, name='eee';
INSERT INTO a_tbl1 SET id=7, phone='777-7777';
INSERT INTO a_tbl1 SET id=6, phone='000-0000'
ON DUPLICATE KEY UPDATE phone='666-6666';
SELECT * FROM a_tbl1 WHERE id=6;
有則更新,沒有插入.根據主鍵或者唯一索引
INSERT INTO a_tbl1 SET id=6, phone='000-0000'
ON DUPLICATE KEY UPDATE phone='666-6666';
INSERT INTO a_tbl1 SELECT * FROM a_tbl1 WHERE id=7 ON DUPLICATE KEY UPDATE name='ggg';
DUPLICATE KEY它的意義其實是如果在insert語句末尾制定了on duplicate key update語句的話,則當插入行會導致一個unique索引或者primary key中出現重覆值,則執行update中的語句,否則才插入新行
CREATE TABLE tbl2 (a INT, b INT, c INT);
INSERT INTO tbl SET a=1, b=a+1, c=b+2;
SELECT * FROM tbl;
如果沒有預設值,是設為null
結果
a b c
===================================
1 2 4
CREATE TABLE tbl3 (a INT, b INT default 10, c INT);
INSERT INTO tbl3 SET a=b+1, b=1, c=b+2;
結果
a b c
===================================
11 1 3
上面的結果是因為 a取值的時候,b還沒有值,所以b取的預設值10,後面的c是因為b有值了,所以是3
c#,net,cubrid,教程,學習,筆記歡迎轉載 ,轉載時請保留作者信息。本文版權歸本人所有,如有任何問題,請與我聯繫[email protected] 。 過錯
INSERT INTO a_tbl3 VALUES(2, 'ggg', '222-2222')
ON DUPLICATE KEY UPDATE name='ggg', phone = '222-2222';
SELECT * FROM a_tbl3 WHERE id=2;
id name phone
=========================================================
2 'ggg' '222-2222'
2 rows affected.
如果被插入rows affected是1 ,如果是更新,rows affected是2