FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Last inserted ID in MySQL
Posts: 1195
Joined: Mon Oct 17, 2005 05:41 AM
Last inserted ID in MySQL
Posted: Mon Aug 06, 2012 05:02 PM

Hi,

How can I receive the last inserted ID-number after a 'INSERT INTO' command in TMySQL?

Thanks,
Marc

Regards,

Marc



FWH32+xHarbour | FWH64+Harbour | BCC | DBF | ADO+MySQL | ADO+MariaDB | ADO+SQLite
Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: Last inserted ID in MySQL
Posted: Mon Aug 06, 2012 05:31 PM
Marc

You may have to open a recordset with just a select statement on ID-number .. like ( assuming ID-number is a number that is incremented by 1 and not a random number.

"Select [ID-number] from Table order by [ID-number]"

Open Recordset
oRs:MoveLast()

My best guess ..

Rick Lipkin
Posts: 1195
Joined: Mon Oct 17, 2005 05:41 AM
Re: Last inserted ID in MySQL
Posted: Mon Aug 06, 2012 05:43 PM

Rick,

I was also thinking of something like that, but what if more people inserting records at the same time on a network?
I saw something like LAST_INSERT_ID() in the MySQL manual, but this function is not recogniced by my xHarbour-version.

Thanks,
Marc

Regards,

Marc



FWH32+xHarbour | FWH64+Harbour | BCC | DBF | ADO+MySQL | ADO+MariaDB | ADO+SQLite
Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: Last inserted ID in MySQL
Posted: Mon Aug 06, 2012 05:53 PM

Marc

A couple of suggestions on concurrency .. I have used a table that contains only 'ID-number' and when a person starts the Add process .. I append the Next number to the ID Table and store that number to a variable and when your form is ready to save .. you already have the number reserved and if someone gets in there concurrently, they get the next number in the ID table....

or

You could store the last used ID-number in a table and during the Insert routine .. increment the Last Used ID-number and append your record ..

Rick

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Last inserted ID in MySQL
Posted: Mon Aug 06, 2012 05:59 PM

Hello

launch a select statement
example:
oQry = oServer:Query( "SELECT LAST_INSERT_ID() AS lastinsert" )

to retrieve the value oQry:lastinsert

Posts: 1195
Joined: Mon Oct 17, 2005 05:41 AM
Re: Last inserted ID in MySQL
Posted: Mon Aug 06, 2012 09:10 PM

Daniel,

I have try it, and its working!!

Thanks,

Marc

Regards,

Marc



FWH32+xHarbour | FWH64+Harbour | BCC | DBF | ADO+MySQL | ADO+MariaDB | ADO+SQLite

Continue the discussion