Solved

MySQL - AUTO INCREMENT

Posted on 2002-05-01
10
553 Views
Last Modified: 2010-04-04
After I insert a row by SQL statement, a auto increment value will be assigned. How can I retrive this auto increment value ?

Andrew
0
Comment
Question by:andrewyu
10 Comments
 
LVL 17

Expert Comment

by:inthe
ID: 6985285
hi,
 you may be able to use mysql_insert_id :
http://www.mysql.com/doc/m/y/mysql_insert_id.html

also maybe of interest:
http://www.mysql.com/doc/e/x/example-AUTO_INCREMENT.html

else i guess a stored procedure ,i dunno about using them but someone (like meikl :) be along soon enough..
0
 
LVL 17

Expert Comment

by:inthe
ID: 6985302
sorry i was thinking php ,i meant use a select statement with LAST_INSERT_ID()instead.

http://www.mysql.com/doc/O/D/ODBC_and_last_insert_id.html
http://www.mysql.com/doc/G/e/Getting_unique_ID.html
0
 

Author Comment

by:andrewyu
ID: 6985308
I tried LAST_INSERT_ID, but, raise a DBException.

Andrew
0
Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

 
LVL 17

Expert Comment

by:inthe
ID: 6985317
how are you connecting to mysql
0
 
LVL 17

Expert Comment

by:inthe
ID: 6985421
hi,
i tested an example ,it works fine here :

procedure TForm1.Table1AfterPost(DataSet: TDataSet);
var
 i:  integer;
begin
 Query1.sql.add('insert into testtable(name)');
 Query1.sql.add(' values(''barry'')');
 Query1.execSql;
 Query1.close;
 Query1.sql.clear;
 Query1.sql.add('SELECT LAST_INSERT_ID()');
 Query1.open;
 Query1.first;
 i := Query1.fields[0].asInteger;
 form1.caption := inttostr(i);
end;
0
 
LVL 17

Expert Comment

by:inthe
ID: 6985425
ps,
you can delete the first three lines
(i tested on a button first :)
0
 

Author Comment

by:andrewyu
ID: 6985968
I had already tried it and it raised a exception.

I use dbExpress to establish connection with mysqld-max-nt.

Andrew
PS:they are running on same Windows XP Professional machine
0
 
LVL 17

Expert Comment

by:inthe
ID: 6988070
hi andrew,
sorry i dont have dbExpress to try it out.
someone else may have idea ,i guess not many people here are using mysql,normally db questions have lots of commenters..
0
 
LVL 1

Expert Comment

by:pnh73
ID: 9004484
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

PAQ/Refund

Please leave any comments here within the next seven days.
 
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
 
Paul (pnh73)
EE Cleanup Volunteer
0
 

Accepted Solution

by:
YensidMod earned 0 total points
ID: 9096610
Question is PAQ'd and points refunded.

YensidMod
Community Support Moderator @Experts Exchange
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question