日期:2014-05-16  浏览次数:20811 次

浅谈unique列上插入重复值的MySQL解决方案

本文的unique列上插入重复值解决方案,主要基于MySQL平台。通过这些,可以做到一些新的功能和应用。希望本文能对大家有所帮助。

当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT、中断操作或者更新旧记录为新值。

  1. mysql>?create?table?menus(id?tinyint(4)?not?null?auto_increment, ?
  2. ???->?label?varchar(10)?null,url?varchar(20)?null,unique?key(id)); ?
  3. Query?OK,?0?rows?affected?(0.13?sec) ?
  4. mysql>?insert?into?menus(label,url)?values('Home','home.html'); ?
  5. Query?OK,?1?row?affected?(0.06?sec) ?
  6. mysql>?insert?into?menus(label,url)?values('About?us','aboutus.html'); ?
  7. Query?OK,?1?row?affected?(0.05?sec) ?
  8. mysql>?insert?into?menus(label,url)?values('Services','services.html'); ?
  9. Query?OK,?1?row?affected?(0.05?sec) ?
  10. mysql>?insert?into?menus(label,url)?values('Feedback','feedback.html'); ?
  11. Query?OK,?1?row?affected?(0.05?sec)?