MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

行の既存の値を使用して、UPDATEステートメントのSET句に新しい値を提供するにはどうすればよいですか?


行の既存の値を使用して、その行がUPDATEステートメントのWHERE句と一致する場合、SET句に新しい値を提供できます。以下はそれを示す例です。

次のように「tender」という名前のテーブルがあるとします-

mysql> Select * from tender;
+-----------+---------+------+
| tender_id | company | rate |
+-----------+---------+------+
| 200       | ABC     | 1000 |
| 300       | ABD     | 6000 |
| 301       | ABE     | 7000 |
| 302       | ABF     | 3500 |
| 303       | ABG     | 3600 |
+-----------+---------+------+
5 rows in set (0.00 sec)

以下のクエリは、tender_id列の値を100増やし、新しい「tender_id」に従って「rate」列も更新します。

mysql> UPDATE tender SET tender_id = tender_id + 100, rate = tender_id + 500 Where tender_id > 300;
Query OK, 3 rows affected (0.06 sec)
Rows matched: 3 Changed: 3 Warnings: 0

mysql> Select * from tender;
+-----------+----------+------+
| tender_id | company  | rate |
+-----------+----------+------+
| 200       | ABC      | 1000 |
| 300       | ABD      | 5000 |
| 401       | ABE      | 901  |
| 402       | ABF      | 902  |
| 403       | ABG      | 903  |
+-----------+----------+------+
5 rows in set (0.00 sec)

  1. MySQLテーブルの値を更新できるので、MySQLビューの値を更新するにはどうすればよいですか?

    UPDATEステートメントを使用すると、MySQLテーブルの値を更新でき、同様の方法でMySQLビューの値を更新できます。 UPDATEステートメントの構文は、テーブル名の場所でビューの名前を指定する必要があることを除いて同じです。上記の概念を説明するために、「情報」という名前のビューから次のようにデータを取得しています- mysql> Select * from Info; +------+---------+------------+ | Id   | Name    | Subject    | +------+---------+

  2. MySQLでブール値を更新するにはどうすればよいですか?

    UPDATEコマンドを使用してブール値を更新できます。 BOOLEANデータ型を使用する場合、MySQLはそれを内部でtinyint(1)に変換します。 trueまたはfalseリテラルを使用できます。ここで、trueは1からtinyint(1)を示し、falseは0からtinyint(1)を示します。 構文は次のとおりです- UPDATE yourTableName SET yourColumnName = yourValue WHERE yourCondition; 上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです- mysql>