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

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


UPDATEコマンドを使用してブール値を更新できます。 BOOLEANデータ型を使用する場合、MySQLはそれを内部でtinyint(1)に変換します。 trueまたはfalseリテラルを使用できます。ここで、trueは1からtinyint(1)を示し、falseは0からtinyint(1)を示します。

構文は次のとおりです-

UPDATE yourTableName SET yourColumnName = yourValue WHERE yourCondition;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table UpdateBooleans
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> isSuccessful BOOLEAN,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.55 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-

mysql> insert into UpdateBooleans(isSuccessful) values(true);
Query OK, 1 row affected (0.17 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(false);
Query OK, 1 row affected (0.21 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(true);
Query OK, 1 row affected (0.13 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(false);
Query OK, 1 row affected (0.15 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(false);
Query OK, 1 row affected (0.24 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(false);
Query OK, 1 row affected (0.17 sec)

mysql> insert into UpdateBooleans(isSuccessful) values(true);
Query OK, 1 row affected (0.12 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from UpdateBooleans;

以下は出力です-

+----+--------------+
| Id | isSuccessful |
+----+--------------+
| 1  | 1            |
| 2  | 0            |
| 3  | 1            |
| 4  | 0            |
| 5  | 0            |
| 6  | 0            |
| 7  | 1            |
+----+--------------+
7 rows in set (0.00 sec)

ブール値を更新するためのクエリは次のとおりです。すべての0を1に更新しましょう。

mysql> update UpdateBooleans set isSuccessful = true where isSuccessful = false;
Query OK, 4 rows affected (0.15 sec)
Rows matched: 4 Changed: 4 Warnings: 0

テーブルのレコードをもう一度表示します。クエリは次のとおりです。

mysql> select *from UpdateBooleans;

出力は次のとおりです。

+----+--------------+
| Id | isSuccessful |
+----+--------------+
| 1  | 1            |
| 2  | 1            |
| 3  | 1            |
| 4  | 1            |
| 5  | 1            |            
| 6  | 1            |
| 7  | 1            |
+----+--------------+
7 rows in set (0.00 sec)

  1. 既存のMySQL値に+1を追加するにはどうすればよいですか?

    例を見て、最初にテーブルを作成しましょう。 mysql> create table Add1ToExistingValue    -> (    -> Value int    -> ); Query OK, 0 rows affected (0.56 sec) 挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。 クエリは次のとおりです mysql> insert into Add1ToExistingValue values(10); Quer

  2. 単一のMySQLクエリでIDが最も高い行を更新できますか?

    はい、できます。まずテーブルを作成しましょう- mysql> create table DemoTable    (    ID int,    GameScore int    ); Query OK, 0 rows affected (0.55 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(15,848747); Query OK, 1 row affected (0.12 sec) mysql