About time:
It's generally nice to standadize on unix timestamps whenever possible. Unix timestamps are always equal to the number of seconds since the start of 1970 which is a surprisingly practical way to work with time and dates.
You use the time() function to get the current time in unix timestamps. The unix time-stamp may then be converted into any other format, e.g. using a function like gmstrftime().
MySQL's SQL has provisions for working with unix timestamps. Look at the FROM_UNIXTIME() and UNIX_TIMESTAMP() functions. The latter is mostly used in SQL SELECT contexts.
However, in many cases, the current time is determined by MySQL internally, using the NOW() SQL statement.
About incrementing a primary key:
MySQL provides an AUTOINCREMENT column attribute which may be set on integer primary key columns (which should also be NOT NULL). However, not all database systems have AUTOINCREMENT facilities, so you might consider not using MySQL's autoincrement in order to ensure database portability.
More may be read about this in MySQL's nice documentation.