Hi all.

Another hiccup along the happy road with MySQL 5.0!

The last bit of a stored procedure I have just put together does this:

-- insert cluster row
INSERT INTO clusters (Name) VALUES (sName);
SELECT LAST_INSERT_ID() INTO iNewClusterID;

-- insert map row
INSERT INTO map (X, Y) VALUES (iX,iY);
SELECT LAST_INSERT_ID() INTO iNewMapID;

-- insert map_clusters row
INSERT INTO map_clusters (MapID, ClusterID) VALUES (iNewMapID,
iNewClusterID);

The last table mentioned, map_clusters has an FK on either column - each
pointing to one of the other two tables. The procedure always fails on this
insert, citing that there has been an FK violation.

I've returned the values of iNewClusterID and iNewMapID out as parameters,
and they always seem to be 0.

However, I tried this:

Create procedure id_test (out id int)
Begin
Select last_insert_id() into id;
End

And this correctly returns the last insert_id for the current connection.

Most puzzling - I saw a closed bug from March on mysql.com which would have
explained this, however, then, the above short procedure would have failed
as well!

Has anyone out there run into similar troubles?


Cheers,

Matt



-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to