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

mysql:サブクエリで更新します。

    dataのすべての行を更新する場合 テーブル、あなたはこのようなことをすることができます:

    UPDATE data
      LEFT
      JOIN node
        ON node.title = data.name
       SET data.id = node.nid
    

    注:

    nodeに複数の行がある場合 titleの値は同じです 、nameと一致します dataで 、これらの行のどれがnidの値であるかは不確定です から割り当てられます。

    nameの値がある場合 datanodeに見つからないテーブル テーブル(title内 column)の場合、idにNULL値が割り当てられます。 列。

    クエリを微調整すると、この動作が変更される可能性があります。

    サブクエリを使用してこれを実行することは可能ですが、結合操作を使用するだけです。次のような相関サブクエリを使用できると思います:

    UPDATE data
       SET data.id = ( SELECT node.nid
                         FROM node
                        WHERE node.title = data.name
                        ORDER BY node.nid
                        LIMIT 1
                     )
    



    1. sqlplusでエラーを表示する方法

    2. リンクされたSQLサーバーのクエリ

    3. PHPで複数のファイルをアップロードし、MySQLへのパスを挿入します

    4. データベースの検索とフィルタリング/リファインはLaravel4になります