[スイッチ]無視挿入、MySQLの挿入操作をスキップし、カバー挿入カバー、MySQLの更新を繰り返す繰り返し

需要の背景:
前のデータを上書きすることができ、以下のデータを決定することができるならば、一般的に、データが挿入されたときに、ダーティデータの場合があり、主キーが繰り返され、その後、直接与えられているに挿入しないと、以下のSQLは、もはや実行され、そして直接ラインに置き換えます。通常、私はこれ以上を使用し、残りの例では、次の資料を参照してください。

無視1.insert

そのような重複データのようなエラーが発生したときのように挿入データが、エラーを返さない場合、それだけで警告として返します。だから、それ以外の場合は無視されます、それ自体が問題ではない文を無視し使用してください。例えば:

INSERT冊(名)VALUES(INTO IGNORE ' MySQLのマニュアル' 
図書(名)VALUES(INTO IGNORE INSERT ' MySQLのマニュアル')、(' nginxのマニュアル')、(' Redisのマニュアル'

2.onが鍵更新を複製
後述更新は、ID = IDとして不要文、関数と同じであるが、エラーが無視できないように、プライマリ一意または反復、UPDATEステートメントは、実行されます。例えば、重複した名前にデータを達成するために与えられていません。

図書(名)VALUES(INSERT INTO ' MySQLのマニュアル'重複KEY UPDATEのID = ID ON)

3.insert ...選択は、...が存在しない場合
、選択の条件に応じて挿入プライマリおよびUNIQUEによってだけでなく、他の条件を介してのみならず、決定することができるか否かを判断します。例えば:

図書INTO(名前)を挿入SELECT ' MySQLのマニュアル' EXISTS、NOT WHEREデュアルFROM(ID =ブックスからIDを選択します1

4.replace
同じプライマリまたは一意のレコードが存在する場合は、最初に削除します。次に、新しいレコードを挿入します。Cフィールドがヌルである元のレコードが存在する場合(A1、B1、C1)、などの新しいレコードが(A1、B2)、そして置き換えることに注意してください

本はSELECT INTO REPLACE 1を' MySQLのマニュアル'本から

オリジナル住所ます。https://www.cnblogs.com/sweet521/p/5730804.html

 

おすすめ

転載: www.cnblogs.com/zhangzhijian/p/10938960.html
おすすめ