问题的起因,假设有一张表,里面保存了交易订单,每张订单有唯一的ID,有最后更新时间,还有数据,详情如下:
1
2
3
4
5
6
7
+-------+----------+------+-----+---------------------+-------+
| Field | Type |Null |Key |Default | Extra |
+-------+----------+------+-----+---------------------+-------+
| UID |int(11) |NO | PRI | 0 | |
|Time | datetime |NO | | 0000-00-00 00:00:00 | |
| Data |int(11) | YES | |NULL | |
+-------+----------+------+-----+---------------------+-------+
针对这张表会做追加及更新的操作,具体来说就是如果订单不存在就INSERT一条新的,如果已存在就UPDATE。由于入库前无法得知相应记录是否已存在,通常的做法无法以下几种:
1、先SELECT一下,再决定INSERT还是UPDATE;
2、直接UPDATE