展開全部
|mysql>?select?*?from?test_book1;
+------+-----------+--------------------------------+
|e68a84e8a2ad3231313335323631343130323136353331333335303534?id???|?name??????|?data???????????????????????????|
+------+-----------+--------------------------------+
|????1?|?測試數據1?|?測試CSV文件中,有逗號???????????|
|????2?|?測試數據2?|?測試CSV文件中有"雙引號"????????|
|????3?|?測試數據3?|?測試CSV文件中,有逗號和"雙引號"?|
|????4?|?測試數據4?|?普通數據???????????????????????|
+------+-----------+--------------------------------+
4?rows?in?set?(0.01?sec)
最終用戶?希望在插入數據庫表以前,先判斷數據是否已存在
mysql>?INSERT?INTO??test_book1
->???SELECT?1,?'TEST',?'ABC'?FROM?dual
->???WHERE?NOT?EXISTS(?SELECT?1?FROM?test_book1?WHERE?id?=?1);
Query?OK,?0?rows?affected?(0.00?sec)
Records:?0??Duplicates:?0??Warnings:?0
mysql>?INSERT?INTO??test_book1
->???SELECT?5,?'TEST',?'ABC'?FROM?dual
->???WHERE?NOT?EXISTS(?SELECT?1?FROM?test_book1?WHERE?id?=?5);
Query?OK,?1?row?affected?(0.00?sec)
Records:?1??Duplicates:?0??Warnings:?0
mysql>?select?*?from?test_book1;
+------+-----------+--------------------------------+
|?id???|?name??????|?data???????????????????????????|
+------+-----------+--------------------------------+
|????1?|?測試數據1?|?測試CSV文件中,有逗號???????????|
|????2?|?測試數據2?|?測試CSV文件中有"雙引號"????????|
|????3?|?測試數據3?|?測試CSV文件中,有逗號和"雙引號"?|
|????4?|?測試數據4?|?普通數據???????????????????????|
|????5?|?TEST??????|?ABC????????????????????????????|
+------+-----------+--------------------------------+
5?rows?in?set?(0.00?sec)
對于你這個情況, 就是簡單的執行
INSERT ?INTO ?tb_Table ( 列名 )
SELECT ?數據 FROM ?dual
WHERE NOT EXISTS( SELECT 1 FROM ??tb_Table?WHERE ?namg = ... ?and pass = ...??);
這樣只需要執行一次 SQL 語句。
如果數據存在, 那么不會插入數據。
如果數據不存在,那么插入數據。