The easiest way to do it is to use phpmyadmin to write the list of columns, then to change it as needed, in the example below I want to duplicate row with id=1078 and in this table I have id unique auto increment and alias unique.therefore I created my query as follow, with id & alias replaced by a desired value. and it worked like a charm.
INSERT INTO sy3_menu
select 1079, menutype
, title
, "alias
", note
, path
, link
, type
, published
, parent_id
, level
, component_id
, checked_out
, checked_out_time
, browserNav
, access
, img
, template_style_id
, params
, lft
, rgt
, home
, language
, client_id
from sy3_menu
where id=1078
Alternatively, to auto increment id, use the following Join statement:
INSERT INTO sy3_menu
select *
from (SELECT MAX(id
+1 )from sy3_menu
)a
join (select menutype
, title
, "alias
", note
, path
, link
, type
, published
, parent_id
, level
, component_id
, checked_out
, checked_out_time
, browserNav
, access
, img
, template_style_id
, params
, lft
, rgt
, home
, language
, client_id
from sy3_menu
where id=1079)b