2011-12-28 37 views
9

有人可以解釋MySql中REPLACE,INSERT和UPDATE之間的區別嗎?在MySql中REPLACE,INSERT,UPDATE有什麼區別?

+0

你能澄清你的問題嗎?更換,更新和插入......他們顯然做了不同的事情。 – Raptor 2011-12-28 06:34:24

+0

你可能指的是['INSERT ... ON DUPLICATE KEY UPDATE](http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html)? – 2011-12-28 06:36:58

+4

INSERT插入UPDATE更新WHERE子句匹配的行REPLACE完全像INSERT一樣工作,除非表中的舊行與PRIMARY KEY的新行具有相同的值或者一個UNIQUE索引,舊行在插入新行之前被刪除。「 http://dev.mysql.com/doc/refman/5.5/en/replace.html – deceze 2011-12-28 06:38:56

回答

17

這些是完全不同的陳述。

  • 插入:插入新的記錄

  • 更新:更新現有記錄

  • 更換:工作原理完全一樣INSERT,不同之處在於,如果一個老行的表有與PRIMARY KEY或UNIQUE索引的新行相同的值,舊行在插入新行之前被刪除

乾杯!

Prasad。

相關問題