如何在 MySQL 中更新欄位以將值新增到現有值?


可以在 UPDATE 和 SET 命令的幫助下更新欄位以將值新增到現有值。語法如下所示 −

UPDATE yourTableName SET yourColumnName = yourColumnName+integerValueToAdd WHERE yourCondition;

為了理解以上語法,讓我們建立一個表。建立表的查詢如下 −

mysql> create table addingValueToExisting
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(30),
   -> GameScore int,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.58 sec)

使用 insert 命令在表中插入記錄。查詢如下 −

mysql> insert into addingValueToExisting(Name,GameScore) values('John',89);
Query OK, 1 row affected (0.11 sec)

mysql> insert into addingValueToExisting(Name,GameScore) values('Mike',56);
Query OK, 1 row affected (0.28 sec)

mysql> insert into addingValueToExisting(Name,GameScore) values('Sam',99);
Query OK, 1 row affected (0.18 sec)

mysql> insert into addingValueToExisting(Name,GameScore) values('Carol',100);
Query OK, 1 row affected (0.17 sec)

mysql> insert into addingValueToExisting(Name,GameScore) values('David',67);
Query OK, 1 row affected (0.25 sec)

mysql> insert into addingValueToExisting(Name,GameScore) values('Bob',78);
Query OK, 1 row affected (0.14 sec)

使用 select 語句顯示錶中的所有記錄。查詢如下 −

mysql> select *from addingValueToExisting;

輸出如下 −

+----+-------+-----------+
| Id | Name  | GameScore |
+----+-------+-----------+
| 1  | John  |        89 |
| 2  | Mike  |        56 |
| 3  | Sam   |        99 |
| 4  | Carol |       100 |
| 5  | David |        67 |
| 6  | Bob   |        78 |
+----+-------+-----------+
6 rows in set (0.00 sec)

更新欄位以將值新增到現有值。對於我們的示例,讓我們透過新增 10 將 100 更新為 110。查詢如下 −

mysql> update addingValueToExisting set GameScore = GameScore+10 where Id = 4;
Query OK, 1 row affected (0.23 sec)
Rows matched − 1 Changed − 1 Warnings − 0

檢查特定記錄是否已更新。查詢如下 −

mysql> select *from addingValueToExisting where Id = 4;

輸出如下 −

+----+-------+-----------+
| Id | Name  | GameScore |
+----+-------+-----------+
| 4  | Carol | 110       |
+----+-------+-----------+
1 row in set (0.00 sec)

檢視以上輸出,值 100 增加 10,即為現在的 110。

更新於: 30-Jul-2019

8K+ 閱讀

開啟你的 職業生涯

透過完成本課程獲得認證

入門
廣告
© . All rights reserved.