重複キーの置換と挿入の違い 置換の使用法
重複キーでの Insert into … の使用法
実験的デモンストレーション テーブル構造 テーブルhelei1を作成します( id int(10) 符号なし NOT NULL AUTO_INCREMENT, 名前 varchar(20) NOT NULL DEFAULT '' 年齢 tinyint(3) unsigned NOT NULL デフォルト 0, 主キー(id)、 ユニークキー uk_name (名前) ) エンジン=innodb AUTO_INCREMENT=1 デフォルト文字セット=utf8; テーブルデータ [email protected] (helei)> helei1 から * を選択します。 +----+-----------+-----+ | ID | 名前 | 年齢 | +----+-----------+-----+ | 1 | 何磊 | 26 | | 2 | シャオミン | 28 | | 3 | シャオホン | 26 | +----+-----------+-----+ セット内の 3 行 (0.00 秒) 使用法に置き換える [email protected] (helei)> replace into helei1 (name) values('贺磊'); クエリは正常、2 行が影響を受けました (0.00 秒) [email protected] (helei)> helei1 から * を選択します。 +----+-----------+-----+ | ID | 名前 | 年齢 | +----+-----------+-----+ | 2 | シャオミン | 28 | | 3 | シャオホン | 26 | | 4 | 何磊 | 0 | +----+-----------+-----+ セット内の 3 行 (0.00 秒) [email protected] (helei)> helei1 (name) の値('爱璇') に置き換えます。 クエリは正常、1 行が影響を受けました (0.00 秒) [email protected] (helei)> helei1 から * を選択します。 +----+-----------+-----+ | ID | 名前 | 年齢 | +----+-----------+-----+ | 2 | シャオミン | 28 | | 3 | シャオホン | 26 | | 4 | 何磊 | 0 | | 5 | アイシュアン | 0 | +----+-----------+-----+ セット内の 4 行 (0.00 秒) 置換の使用法 キーの競合がない場合、replace into は insert と同等となり、他の列のデフォルト値が使用されます。 キーの競合が発生すると、自動増分列が更新されて競合する列が置き換えられ、残りの列はデフォルト値に設定されます。 重複キーに…を挿入: [email protected] (helei)> helei1 から * を選択します。 +----+-----------+-----+ | ID | 名前 | 年齢 | +----+-----------+-----+ | 2 | シャオミン | 28 | | 3 | シャオホン | 26 | | 4 | 何磊 | 0 | | 5 | アイシュアン | 0 | +----+-----------+-----+ セット内の 4 行 (0.00 秒) [email protected] (helei)> insert into helei1 (name,age) values('贺磊',0) on duplicate key update age=100; クエリは正常、2 行が影響を受けました (0.00 秒) [email protected] (helei)> helei1 から * を選択します。 +----+-----------+-----+ | ID | 名前 | 年齢 | +----+-----------+-----+ | 2 | シャオミン | 28 | | 3 | シャオホン | 26 | | 4 | 何磊 | 100 | | 5 | アイシュアン | 0 | +----+-----------+-----+ セット内の 4 行 (0.00 秒) [email protected] (helei)> helei1 から * を選択します。 +----+-----------+-----+ | ID | 名前 | 年齢 | +----+-----------+-----+ | 2 | シャオミン | 28 | | 3 | シャオホン | 26 | | 4 | 何磊 | 100 | | 5 | アイシュアン | 0 | +----+-----------+-----+ セット内の 4 行 (0.00 秒) [email protected] (helei)> insert into helei1 (name) values('爱璇') on duplicate key update age=120; クエリは正常、2 行が影響を受けました (0.01 秒) [email protected] (helei)> helei1 から * を選択します。 +----+-----------+-----+ | ID | 名前 | 年齢 | +----+-----------+-----+ | 2 | シャオミン | 28 | | 3 | シャオホン | 26 | | 4 | 何磊 | 100 | | 5 | 愛軒 | 120 | +----+-----------+-----+ セット内の 4 行 (0.00 秒) [email protected] (helei)> 重複キーの helei1 (name) 値に ('存在しません') を挿入し、age=80 を更新します。 クエリは正常、1 行が影響を受けました (0.00 秒) [email protected] (helei)> helei1 から * を選択します。 +----+-----------+-----+ | ID | 名前 | 年齢 | +----+-----------+-----+ | 2 | シャオミン | 28 | | 3 | シャオホン | 26 | | 4 | 何磊 | 100 | | 5 | 愛軒 | 120 | | 8 | 存在しない | 0 | +----+-----------+-----+ セット内の行数は 5 です (0.00 秒) 要約する replace into の使用は、最初に削除操作を実行し、競合するキーが見つかった場合は挿入操作を実行することと同じです。指定されていない列にはデフォルト値が使用されます。これにより、自動増分主キーが変更されます。テーブルに外部キーがある場合、またはビジネス ロジックが主キーに依存している場合は、例外が発生します。したがって、重複キーには Insert into … を使用することをお勧めします。執筆時間が急ぎだったため、記事には多少の誤りや不正確な点が避けられません。不適切な点がありましたら、ご指摘、ご訂正をお願いいたします。 さて、以上がこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: Nginx で https をアップグレードする方法
>>: JavaScript における正規表現の実際的な応用の詳細な説明
序文最近、クライアントのネイティブページを引き継ぎました。顧客は、ページが IE9 以降のバージョン...
以前は、Web ページのプリンタ対応バージョンを作成するには、印刷したときに見栄えがよくなるようにレ...
今日は断片化された画像の読み込み効果を実装します。効果は次のとおりです。 これを 3 つのステップで...
背景:サイトはフロントエンドとバックエンドから分離されています: vue+springbootフロン...
この記事では、Vueで複数の画像を追加、表示、削除するための具体的なコードを参考までに紹介します。具...
dockerスタックによってデプロイされたイメージサービスを使用すると、イメージを入力した後、理論的...
私は最近、ユーザー操作を元に戻す、またはやり直す機能を備えたビジュアル操作プラットフォームを開発して...
MySQL 8.0をインストールする docker run -p 63306:3306 -e MYS...
目次1. 世界地図1. VueにOpenLayersをインストールする2. アマップ1. 世界地図1...
目次1. 通常の機能2. 矢印関数3. データパケットJSON 4. オブジェクト5. 約束6. 非...
ユーザー名前空間は Linux 3.8 で追加された新しい名前空間で、ユーザー ID やグループ I...
目次1. 概要1. スカイウォーキング入門2. スカイウォーキング建築3. スカイウォーキングはどの...
1. 場所の正規表現例を見てみましょう: 場所 = / { # 完全一致 / 、ホスト名の後に文字列...
最近、Docker を使用して Java アプリケーションをデプロイしていたときに、タイムゾーンが間...
今回は、 RNの起動処理を整理しました。最後のstartReactApplication比較的複雑で...