以下表为例,表中已经存在了此书的信息。当我在次执行
insert into 图书入库记录 values ('windows程序设计',111222,1,'北京大学出版社');
的时候当然不能重复出现此记录,我们需要把库存变为6.但是怎么写代码呢。(如果没有此记录,则添加此记录;如果已有此记录,则库存加一)。
mysql> DESCRIBE 图书入库记录;
+------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| 图书名称 | char(50) | YES | | NULL | |
| 图书条形码 | double | YES | | NULL | |
| 图书库存 | int(11) | YES | | NULL | |
| 图书价格 | double | YES | | NULL | |
| 图书出版社 | char(50) | YES | | NULL | |
+------------+----------+------+-----+---------+-------+
5 rows in set (0.00 sec)mysql> SELECT * FROM 图书入库记录;
+-----------------+------------+----------+----------+----------------+
| 图书名称 | 图书条形码 | 图书库存 | 图书价格 | 图书出版社 |
+-----------------+------------+----------+----------+----------------+
| windows程序设计 | 111222 | 5 | 90 | 北京大学出版社 |
+-----------------+------------+----------+----------+----------------+
1 row in set (0.00 sec)
insert into 图书入库记录 values ('windows程序设计',111222,1,'北京大学出版社');
的时候当然不能重复出现此记录,我们需要把库存变为6.但是怎么写代码呢。(如果没有此记录,则添加此记录;如果已有此记录,则库存加一)。
mysql> DESCRIBE 图书入库记录;
+------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| 图书名称 | char(50) | YES | | NULL | |
| 图书条形码 | double | YES | | NULL | |
| 图书库存 | int(11) | YES | | NULL | |
| 图书价格 | double | YES | | NULL | |
| 图书出版社 | char(50) | YES | | NULL | |
+------------+----------+------+-----+---------+-------+
5 rows in set (0.00 sec)mysql> SELECT * FROM 图书入库记录;
+-----------------+------------+----------+----------+----------------+
| 图书名称 | 图书条形码 | 图书库存 | 图书价格 | 图书出版社 |
+-----------------+------------+----------+----------+----------------+
| windows程序设计 | 111222 | 5 | 90 | 北京大学出版社 |
+-----------------+------------+----------+----------+----------------+
1 row in set (0.00 sec)
前提是需要有主键或则唯一索引来提示有冲突;
+-----------------+------------+----------+----------+----------------+
| 图书名称 | 图书条形码 | 图书库存 | 图书价格
| 图书出版色 |
+-----------------+------------+----------+----------+----------------+
| windows程序设计 | 111222 | 5 | 90 | 北京大学出版社
|
+-----------------+------------+----------+----------+----------------+
1 row in set (0.00 sec)mysql> alter table `图书入库记录` add unique key(`图书名称`);
Query OK, 1 row affected (0.11 sec)
Records: 1 Duplicates: 0 Warnings: 0mysql> show index from `图书入库记录`;
+--------------+------------+----------+--------------+-------------+-----------
+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation
| Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+--------------+------------+----------+--------------+-------------+-----------
+-------------+----------+--------+------+------------+---------+
| 图书入库记录 | 0 | 图书名称 | 1 | 图书名
称 | A | 1 | NULL | NULL | YES | BTREE |
|
+--------------+------------+----------+--------------+-------------+-----------
+-------------+----------+--------+------+------------+---------+
1 row in set (0.00 sec)mysql> insert into 图书入库记录 values ('windows程序设计',111222,1,90,'北京大学
出版社')
-> on duplicate key update `图书库存`=values(`图书库存`)+`图书库存`;
Query OK, 2 rows affected (0.06 sec)mysql> select * from `图书入库记录`;
+-----------------+------------+----------+----------+----------------+
| 图书名称 | 图书条形码 | 图书库存 | 图书价格
| 图书出版色 |
+-----------------+------------+----------+----------+----------------+
| windows程序设计 | 111222 | 6 | 90 | 北京大学出版社
|
+-----------------+------------+----------+----------+----------------+
1 row in set (0.00 sec)
http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/sql-syntax.html#insert
insert 语法;
看手册是最好的.
MFC写代码也一样,楼主需要先掌握SQL语言的基础,然后 MFC只不过中通过否个函数来连接,提交SQL语句。