Search code examples
mysqlmysql-error-1064

OUTPUT Inserted.row in mysqli


I have the following sql table:

id|email|fbid

When I perform the query

 INSERT INTO users(email,fbid) VALUES('randomvalue','otherrandomvalue')

I want to get the id of the inserted row. To do so, I've tried to edit the query like this:

 INSERT INTO users(email,fbid) VALUES('randomvalue','otherrandomvalue') OUTPUT Inserted.id

But I'm getting:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OUTPUT Inserted.id' at line 1

What could be the problem?


Solution

  • Unfortunately (as far as I can tell) does not support output as does.

    You do have an option for what you're trying to accomplish in a single row insert (assuming auto_increment primary key):

    SELECT LAST_INSERT_ID();
    

    This unfortunately would not work in the case of a batch insert - though in your case you are not (at least not in your example), so this should be fine.