updating db with csv

Captain Paralytic paul_lautman at yahoo.com
Mon Jun 11 04:46:37 EDT 2007


On 11 Jun, 07:37, Tim Roberts <t... at probo.com> wrote:
| Not in standard SQL.  MySQL supports a REPLACE extension that does
an
| UPDATE if the key already exists, and an INSERT if it does not.
 There is
| also an extension clause to the INSERT statement called "ON
DUPLICATE KEY
| UPDATE xxx" that might do what you want.
| --
| Tim Roberts, t... at probo.com
| Providenza & Boekelheide, Inc.

No Tim, that is not correct. the REPLACE extension does not do an
update, it does a replace. It delets the old record and inserts a new
one. The INSERT...ON DUPLICATE KEY UPDATE... does an update. So a
REPLACE will remove all existing field values not referenced in the
statement, whilst an INSERT...ON DUPLICATE KEY UPDATE... will preserve
them. Also REPLACE will make a TIMESTAMP column which has a DEFAULT
CURRENT_TIMESTAMP setting work like one which has ON UPDATE
CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP setting.




More information about the Python-list mailing list