how to copy one row data to another
In MySQL you can't update the same table your are selecting from. That leads to the error
You can't specify target table 'myTable' for update in FROM clause
But you can trick MySQL by creating a temp table
update myTable
SET myData=(select * from (select myData FROM myTable WHERE id=3) x)
WHERE id=4;
Can you not just use an inner join
with aliased tables like this:
update myTable left_table
inner join myTable right_table ON right_table.id = 3
set left_table.myData = right_table.myData
where left_table.id = 4;
Updated fiddle