sql >> データベース >  >> Database Tools >> phpMyAdmin

同じテーブルのSUBQUERYを使用したMySQLUPDATE

    選択に使用するものを更新できないため、一時テーブルを使用する必要があります。簡単な例:

    これは機能しません:

    UPDATE mytable p1 SET p1.type= 'OFFER' WHERE p1.parent IN 
        (SELECT p2.id from mytable p2 WHERE p2.actu_id IS NOT NULL);
    

    これでうまくいきます:

    UPDATE mytable p1 SET p1.type= 'OFFER' WHERE p1.parent IN 
        (SELECT p2.id from (SELECT * FROM mytable) p2 WHERE p2.actu_id IS NOT NULL);
    

    「from(SELECT * FROM mytable)p2」は、テーブルの一時的な複製を作成しますが、更新の影響を受けません



    1. XAMPPphpMyAdminにアクセスできません。それは言う:エラーMySQLは言った:ドキュメントは接続できません:無効な設定

    2. WAMPの再インストール後に一部のデータベースコンテンツが消えた

    3. 自作でphpmyadminをインストールする

    4. clearDBを使用したMySQLでの自動増分1