My Table Structure is:
DROP TABLE IF EXISTS `child`;
CREATE TABLE `child` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KE
The syntax for setting the variable is incorrect, use :
like,
SET parent_id := LAST_INSERT_ID();
SET child_id := LAST_INSERT_ID();
or You can do the setting as
select LAST_INSERT_ID() into parent_id;
You might have already solved this by now, but the first thing I noticed about your stored procedure is that you have a local variable with the same name as the output variable (parent_id
). It looks to me that you're setting the value of the local variable rather than the return variable, so the caller never sees the correct value.
Perhaps removing the local parent_id
variable declaration will solve your problem.