web-dev-qa-db-ja.com

1つの列にすべての値を設定する方法MySQLクエリ

テーブルに「description」という新しいタプルを作成しました。

クエリで、作成済みのデータのすべての「説明」タプルを特定のテキストに設定するだけです。

例えば。基本的な「更新」クエリですが、使用するのに適切な方法ではないかどうかはわかりません。

UPDATE suppliers SET name = 'HP'WHERE name = 'IBM'; 

助言がありますか?

8
cwiggo

ソート済み

私はちょうど使用しました:

UPDATE suppliers SET description = 'business'

これにより、テーブル内のすべての説明FIELDSが文字列「business」に設定されます。

提案をありがとう。

16
cwiggo

指定したクエリの形式は正しいです。 UPDATEまたはDELETEを実行する前に、そのクエリのSELECTを実行して、それが目的の変更であることを確認することをお勧めします。

テストクエリは次のようになります。

SELECT name FROM suppliers WHERE name = 'IBM';

ただし、指定したクエリではdescription列は更新されません。これを行うには、次のようなものが必要になります。

UPDATE suppliers SET description = 'HP' WHERE name = 'IBM';

このUPDATEを実行した後、次のクエリを実行して結果を検証できます。

SELECT name, description FROM suppliers WHERE name = 'IBM';
8
Kermit

これにより、フィールドステータスが変更されます= "deactivate"ここで、テーブル名は:-user

 Session session=null;
    int rows=0;
     try {
           session =HibernateUtil.getSessionFactory().openSession();
           Query query = session.createQuery("UPDATE user  SET status = 'deactivate'");
           rows = query.executeUpdate();
         //  result = query.list();
        } catch (HibernateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally
    {
        session.close();
    }   
0