I have two INSERT
commands, that are useless to me like that because the two sets of rows - the ones that are already in the table, and the ones I have as INSERT
commands - are not disjunct. Both commands insert lots of rows, and lots of values.
Therefore I get the duplicate entry error if I want to execute those lines.
Is there any easy way to 'convert' those commands into UPDATE
?
I know this sounds stupid, because why do I make INSERT
commands, if I want to UPDATE
. Just to make it a clear scenario: another developer gave me the script:)
Thanks in advance, Daniel
EDIT - problem solved
First I created a table and filled it up with my INSERT
commands, then I used the following REPLACE
command:
REPLACE
INTO table_1
SELECT *
FROM table_2;
This can originally be found at: How can I merge two MySQL tables?
Insert is for putting in a fresh record to the table. while the update enables you to modify the inserted record e.g. modifying data type etc.
insert is more faster than update ... because in insert there no checking of data..
MySQL's REPLACE
keyword does this. Simply replace the INSERT
keyword in your queries with the word REPLACE
and it should update the rows instead of inserting new ones. Please note that it will only work if you're inserting a primary key or unique key column.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With