需求: 假如有一張書目表,字段為id,name,count(庫存) 現要插入一條新紀錄,如果數據庫沒有這條紀錄,插入 若已經存在,則更新庫存。 解決方法:mysql 的 on duplicate key update 語法。 下面給出解決過程。 創建測試數據庫 mysql CREATE DATABASE `tes
需求:
假如有一張書目表,字段為id,name,count(庫存)
現要插入一條新紀錄,如果數據庫沒有這條紀錄,插入
若已經存在,則更新庫存。
解決方法:mysql 的 on duplicate key update 語法。
下面給出解決過程。
創建測試數據庫
mysql> CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.14 sec)
mysql> use test;
Database changed
創建測試數據表
mysql> CREATE TABLE IF NOT EXISTS `books` (
Query OK, 0 rows affected (0.79 sec)
查看索引信息
mysql> show index from books;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| books |
| books |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------2 rows in set (0.00 sec)
插入第一條測試數據
mysql> INSERT INTO `books` VALUES ('','windows',5);
Query OK, 1 row affected, 1 warning (0.04 sec)
查看數據
mysql> select * from books;
+----+---------+-------+
| id | name
+----+---------+-------+
|
+----+---------+-------+
1 row in set (0.00 sec)
再次插入windows這本書
mysql> INSERT INTO `books` VALUES ('','windows',1)
Query OK, 2 rows affected, 1 warning (0.12 sec)
再來查看數據
mysql> select * from books;
+----+---------+-------+
| id | name
+----+---------+-------+
|
+----+---------+-------+
1 row in set (0.00 sec)
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com