本帖最后由 likinglife 于 2016-1-5 17:38 编辑
wmxcn2000 发表于 2016-1-5 15:47
ic_t表,现在里有数据吧?数据清空后再insert还是这个情况,发现在insert过程中会产生类似数据合并的现象导致数据重复:
--我的原表没有重复数据
mysql> SELECT attr_name_id,VALUE FROM t WHERE is_delete=1 and attr_name_id = 783 and value like '%ContiCrossContact LX%';
+--------------+-----------------------+
| attr_name_id | VALUE |
+--------------+-----------------------+
| 783 | ContiCrossContact LX2 |
| 783 | ContiCrossContact LX |
+--------------+-----------------------+
--insert过程中,会产生类似数据合并导致重复数据,例如insert后ContiCrossContact LX2没有了,变成两个ContiCrossContact LX
mysql> select attr_name_id,attr_value,count(*) from ic_t where attr_name_id=783 GROUP BY attr_name_id,attr_value HAVING COUNT(*)>1;
+--------------+----------------------+----------+
| attr_name_id | attr_value | count(*) |
+--------------+----------------------+----------+
| 783 | ContiCrossContact LX | 2 |
| 783 | ContiPremiumContact | 2 |
| 783 | ContiSportContact 5 | 2 |
| 783 | Eagle F1 Asymmetric | 2 |
+--------------+----------------------+----------+
mysql> SELECT attr_name_id,attr_VALUE FROM ic_t WHERE attr_name_id = 783 and attr_value like '%ContiCrossContact LX%';
+--------------+----------------------+
| attr_name_id | attr_VALUE |
+--------------+----------------------+
| 783 | ContiCrossContact LX |
| 783 | ContiCrossContact LX |
+--------------+----------------------+
为什么会这样呢?