What you're trying to do cannot be done in that way,
but first ask yourself if you really need to be doing it.
That is, since you're autoincrementing the ID column,
it already provides a unique identifier all by itself, so
there's no need to embellish it with some additional
characters. Or, even if you <i>do</i> want to dress
up the ID for the user, there's still no need to have
a separate column for it, since you can always derive
it from the columns id, first_name, and last_name.
Next, you cannot form computed columns on-the-fly
in an insert statement. If you really do need an
additional column called <b>identification</b> then
you will need to modify the table structure itself:
alter table person add column identification;
Finally, you are correct that you cannot know the value
of an autoincrement field until after you insert the new
row, so it's quite impractical to try to combine that value
with anything else. However, it's easy to obtain the value;
just call mysql_insert_id() immediately after performing the
insert.
Oh yes, your other questions: you can update as many or
as few columns as you like (subject to not null and other
constraints, of course). You <i>must</> surround string
values with 'quotes', but others should not have them. So,
for example, if you need an explicit null, just say <b>null</b>.
Saying <b>'null'</b> is just a string that happends to contain
the characters n - u - l - l .
and