MYSQL插入数据时忽略重复数据
 
当程序中insert时,已存在的数据不插入,不存在的数据insert。在网上搜了下,
可以使用存储过程或者是用NOT EXISTS 来判断是否存在。
使用下以两种方法时必须把字段设为”主键(PRIMARY KEY”或”唯一约束(UNIQUE)”。
 
1:使用REPLACE INTO (此种方法是利用替换的方法,有点似类于先删除再插入) 
REPLACE INTO Syntax 
REPLACE [LOW_PRIORITY | DELAYED] 
    [INTO] tbl_name [(col_name,...)] 
    {VALUES | VALUE} ({expr | DEFAULT},…),(…),… 
Or: 
REPLACE [LOW_PRIORITY | DELAYED] 
    [INTO] tbl_name 
    SET col_name={expr | DEFAULT}, … 
Or: 
REPLACE [LOW_PRIORITY | DELAYED] 
    [INTO] tbl_name [(col_name,...)] 
    SELECT …

2:使用INSERT [IGNORE] INTO (此种方法效率比较高,判断是否存在,存在不插入,否则插入) 
INSERT [IGNORE] INTO Syntax 
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] 
[INTO] tbl_name [(col_name,...)] 
{VALUES | VALUE} ({expr [...]