Buongiorno a tutti.
Mi sono appena iscritto perchè ho un problema da risolvere.
Sto lavorando con un database in cui ho 2 tabelle:
"user_" e "userdetails" di seguito descritte

-user_
codice:
+-----------------------+---------------+------+-----+---------+-------+
| Field                 | Type          | Null | Key | Default | Extra |
+-----------------------+---------------+------+-----+---------+-------+
| userId                | bigint(20)    | NO   | PRI | NULL    |       |
| createDate            | datetime      | YES  |     | NULL    |       |
| password_             | varchar(75)   | YES  |     | NULL    |       |
| emailAddress          | varchar(75)   | YES  | MUL | NULL    |       |
| firstName             | varchar(75)   | YES  |     | NULL    |       |
| lastName              | varchar(75)   | YES  |     | NULL    |       |
| active_               | tinyint(4)    | YES  |     | NULL    |       |
+-----------------------+---------------+------+-----+---------+-------+
-userdetails
codice:
+----------+------------+------+-----+---------+-------+
| Field    | Type       | Null | Key | Default | Extra |
+----------+------------+------+-----+---------+-------+
| userId   | bigint(20) | NO   | PRI | NULL    |       |
| lat      | double     | NO   |     | NULL    |       |
| lon      | double     | NO   |     | NULL    |       |
| visibile | tinyint(1) | NO   |     | NULL    |       |
+----------+------------+------+-----+---------+-------+
Vorrei fare in modo che, all'aggiunta di un nuovo utente nella tabella user_ sia automaticamente aggiunta una nuova riga nella tabella userdetails che abbia lo stesso userId del nuovo utente.
Per far ciò avevo realizzato un trigger che al suo interno richiama una stored procedure. Ecco il codice:

codice:
delimiter //
create procedure getlastpk(OUT id BIGINT)
begin
	declare lastpk bigint;
	declare cercapk cursor for 
		select userId from user_ where createDate=(select max(createDate) from user_);
	open cercapk;
	fetch cercapk into lastpk;
	close cercapk;
	set id=lastpk;
end;
//
delimiter ;

delimiter //
create trigger tr_dettagli_user
	AFTER INSERT
	ON user_
	FOR EACH ROW
	call getlastpk(@pk);
	INSERT INTO userdetails VALUES((select @pk),0.0,0.0,false,false);
//
delimiter ;
Il codice non genera errori, ma all'aggiunta di un nuovo utente nella tabella user_ nessuna riga viene generata in userdetails.

Dove ho sbagliato? Come potrei fare?
Grazie per le eventuali risposte.