OPTIONAL
SYNOPSIS
        int db_insert_id(int handle)

DESCRIPTION
        After inserting a line into a table with an AUTO_INCREMENT field,
        this efun can be used to return the (new) value of the AUTO_INCREMENT
        field.

        The function is available only if the driver is compiled with
        mySQL support. In that case, __MYSQL__ is defined.

        The efun triggers a privilege violation ("mysql", "db_insert_id").

HISTORY
        Added in 3.2.9 .
        LDMud 3.2.11 added the privilege violation.

SEE ALSO
        db_affected_rows(E), db_conv_string(E), db_close(E), db_coldefs(E),
        db_connect(E), db_error(E), db_exec(E), db_fetch(E), db_handles(E),
        mysql(C), privilege_violation(M)
