[TYPO3-dev] Should t3lib_db support MySQL's REPLACE INTO statement?

Xavier Perseguers typo3 at perseguers.ch
Thu Nov 13 09:51:37 CET 2008


Xavier Perseguers wrote:
> Hi Ingo,
> 
>> would you be interested to see a 
>> $GLOBALS['TYPO3_DB']->exec_REPLACEquery() method?
>>
>> please refer to the MySQL docs [1] for details on replace...
>>
>> As REPLACE is a MySQL addition to standard SQL DBAL would need to take 
>> care of that by splitting the call up into separate INSERT and DELETE 
>> + INSERT queries. But that's doable.
> 
> It could be very useful but support for other DBMS should be updated in 
> parallel of course.

I just reread the definition of Replace in the MySQL doc and I remember 
what I dislike about it... Unlike in Sqlite3 where you may write INSERT 
OR UPDATE, the REPLACE of MySQL actually performs a DELETE and then an 
INSERT and someone in comments just pointed out what was bad with that. 
When using integrity references, the lack of an actual UPDATE if the row 
already exists leads to removing all associated data.

-- 
Xavier Perseguers
http://xavier.perseguers.ch/en/tutorials/typo3.html




More information about the TYPO3-dev mailing list