I have a table in MySQL using InnoDB and a column is there with the name \"id\".
So my problem is that whenever I delete the last row from the table and then insert
I suppose you mean "Whenever I delete the last row from the table", isn't it?
Anyway this is how autoincrement works. It's made to keep correct data relations. If in another table you use an id of a record that has been deleted it's more correct to get an error instead of get another record when querying that id.
Anyway here you can see how to get the first free id in a field.