Note that unless you do this in a transaction, it's open to race conditions:
USER1: id = select max(id) from table;
USER2: Insert into table (field1) values ('abc');
USER1: insert into table (autoinc, field1) values (id+1,'def');
Now you'll get a failure since you're trying to insert a record with the same id as already inserted by user 2.