How does lastInsertId() work for tables without auto-incremented fields?

mysql, php

Solution

In both cases above it will return `0`.

When using an auto_increment column, it will return the last INSERT ID even if it was specified (i.e. the auto increment was not used).

That is to say you should only use `lastInsertId` when using auto increment. It doesn't really make sense to use it otherwise since you would have to know the keys ahead of time anyway..

Problem

How does `lastInsertId()` work for tables that do not have an auto-incremented field? What about tables where the primary key is made up of 2 fields? (I'm working with MySQL)

Original source