sql >> データベース >  >> RDS >> Mysql

MySQLで、1つの行をコピーして同じテーブルに挿入できますか?

    Leonard Challisのテクニックをいくつか変更して使用しました:

    CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM table WHERE primarykey = 1;
    UPDATE tmptable_1 SET primarykey = NULL;
    INSERT INTO table SELECT * FROM tmptable_1;
    DROP TEMPORARY TABLE IF EXISTS tmptable_1;
    

    一時テーブルとして、複数のレコードが存在することはないため、主キーについて心配する必要はありません。 nullに設定すると、MySQLが値自体を選択できるため、重複が作成されるリスクはありません。

    挿入する行が1つだけであることを確認したい場合は、INSERTINTO行の最後にLIMIT1を追加できます。

    一時テーブル名に主キー値(この場合は1)も追加したことに注意してください。



    1. MySQL MOD()関数–MySQLでモジュロ演算を実行します

    2. VBA錬金術:メソッドをプロパティに変える

    3. AzureSQLデータベースの自動チューニング

    4. PostgreSQLで英数字以外の文字を含む行を返す2つの方法