I want to copy all of the columns of a row, but not have to specify every column. I am aware of the syntax at http://dev.mysql.com/doc/refman/5.1/en/insert-select.html
but I see no way to ignore a column.
For my example, I am trying to copy all the columns of a row to a new row, except for the primary key.
Is there a way to do that without having to write the query with every field in it?
or primary key column is an
you can use a temp table:
CREATE TEMPORARY TABLE temp_table AS SELECT * FROM source_table WHERE id='7'; UPDATE temp_table SET id='100' WHERE id='7'; INSERT INTO source_table SELECT * FROM temp_table; DROP TEMPORARY TABLE temp_table;
so in this way you can copy all data in row id=’7′ and then assign new value ‘100’ (or whatever value falls above the range of your current auto_increment value in source_table).
Edit: Mind the ; after the statments