> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/connectors/mariadb-connector-c/api-prepared-statement-functions/mysql_stmt_insert_id.md).

# mysql\_stmt\_insert\_id

## Syntax

```c
my_ulonglong mysql_stmt_insert_id(MYSQL_STMT * stmt);
```

## Parameter

* `stmt` - a statement handle, which was previously allocated by [mysql\_stmt\_init()](/docs/connectors/mariadb-connector-c/api-prepared-statement-functions/mysql_stmt_init.md).

## Description

The `mysql_stmt_insert_id()` function returns the ID generated by a prepared statement on a table with a column having the [AUTO\_INCREMENT](/docs/server/reference/data-types/auto_increment.md) attribute. If the last query wasn't an [INSERT](/docs/server/reference/sql-statements/data-manipulation/inserting-loading-data/insert.md) or [UPDATE](/docs/server/reference/sql-statements/data-manipulation/changing-deleting-data/update.md) statement or if the modified table does not have a column with the `AUTO_INCREMENT` attribute, this function will return zero.

## Return Value

Returns the auto generated id from previously executed prepared statement.

{% hint style="info" %}
When performing a multi-insert prepared statement, `mysql_stmt_insert_id()` will return the value of the first row.
{% endhint %}

## See Also

* [mysql\_insert\_id()](/docs/connectors/mariadb-connector-c/api-functions/mysql_insert_id.md)

{% @marketo/form formId="4316" %}
