在操作数据库,insert数据的时候,经常要根据id或者其他的一些信息来判断,当前数据表中是否已经有了该条实体的信息,然后根据是否存在两种情况再选择不同的操作。比如:往shopsping中的item表添加一条item的信息时,经常性的判断在原表中是否已经存在该item是否已经存在,如果存在,执行update操作;如果不存在,执行insert操作。
这样,代码实现起来整体代码显得比较负责,在我们使用mysql数据库时,其实可以采用一条sql语句来简化代码。
例如,我们要实现:当表中已经存在该条item的信息时,我们update该item信息,如果不存在就insert,可以这样写:
INSERT INTO item(store_id,item_id,item_name) VALUES (915,12,'helloworld') ON DUPLICATE KEY UPDATE store_id=VALUES (store_id),item_id=VALUES (item_id),item_name=VALUES (item_name);
这种做法可以省去很多代码,代码看起来也更清晰。不过仅适用于mysql。