溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么進(jìn)行MySQL INSERT IGNORE語(yǔ)句的使用

發(fā)布時(shí)間:2021-10-25 16:43:55 來(lái)源:億速云 閱讀:271 作者:柒染 欄目:MySQL數(shù)據(jù)庫(kù)

怎么進(jìn)行MySQL INSERT IGNORE語(yǔ)句的使用,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

在INSERT語(yǔ)句中,使用IGNORE關(guān)鍵字時(shí),在INSERT語(yǔ)句執(zhí)行過(guò)程中發(fā)生的錯(cuò)誤將會(huì)被忽略。例如,當(dāng)向建有UNIQUE索引或主鍵的字段插入重復(fù)字段時(shí),會(huì)導(dǎo)致duplicate-key錯(cuò)誤,執(zhí)行的語(yǔ)句會(huì)失敗。當(dāng)帶有IGNORE關(guān)鍵字時(shí),這個(gè)錯(cuò)誤會(huì)被忽略,只會(huì)產(chǎn)生警告。
當(dāng)向分區(qū)表插入數(shù)據(jù)時(shí),IGNORE關(guān)鍵字具有類似的效果。當(dāng)沒(méi)有要插入的分區(qū)時(shí),MySQL會(huì)忽略錯(cuò)誤。
當(dāng)數(shù)據(jù)轉(zhuǎn)換引發(fā)報(bào)錯(cuò)時(shí),可以通過(guò)IGNORE關(guān)鍵字來(lái)忽略錯(cuò)誤,這時(shí)MySQL會(huì)產(chǎn)生警告而不退出語(yǔ)句的執(zhí)行,無(wú)效的數(shù)值會(huì)被調(diào)整成接近的數(shù)值并被插入。
 
mysql> desc t10;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(10)     | NO   | PRI | 0       |       |
| name  | varchar(15) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> select * from t10;
+----+--------+
| id | name   |
+----+--------+
| 10 | Neo    |
| 20 | Lucy   |
| 30 | Lily   |
| 50 | Dingyi |
| 60 | Jones  |
+----+--------+
5 rows in set (0.00 sec)
 
mysql> desc t7;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(10)     | NO   | PRI | 0       |       |
| name  | varchar(15) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> select * from t7;
+----+--------+
| id | name   |
+----+--------+
| 50 | Dingyi |
| 60 | Jones  |
+----+--------+
2 rows in set (0.00 sec)
 
mysql> insert into t7 select * from t10;
ERROR 1062 (23000): Duplicate entry '50' for key 'PRIMARY'
mysql> select * from t7;
+----+--------+
| id | name   |
+----+--------+
| 50 | Dingyi |
| 60 | Jones  |
+----+--------+
2 rows in set (0.00 sec)
mysql> select * from t10;
+----+--------+
| id | name   |
+----+--------+
| 10 | Neo    |
| 20 | Lucy   |
| 30 | Lily   |
| 50 | Dingyi |
| 60 | Jones  |
+----+--------+
5 rows in set (0.00 sec)
 
mysql> insert ignore into t7 select * from t10;
Query OK, 3 rows affected, 1 warning (0.00 sec)

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI