|
Помогите с хранимой процедурой MySql |
☑ |
0
sysadminlk
29.07.20
✎
18:29
|
CREATE DEFINER=`begom_user`@`%` PROCEDURE `NEW_COURIER`(
IN `name` VARCHAR(20), IN `familia` VARCHAR(20)
)
BEGIN
INSERT INTO `сourier` SET `username`=name, `first_name`=familia, last_name='';
SET @out_ProductID := LAST_INSERT_ID();
END
Как в сделать чтоб в PHP вернулось LAST_INSERT_ID()?
|
|
1
Йохохо
29.07.20
✎
18:35
|
create function
|
|
2
sysadminlk
29.07.20
✎
18:46
|
в общем вот так заработало:
CREATE DEFINER=`begom_user`@`%` PROCEDURE `NEW_COURIER`(
IN `uname` VARCHAR(20), IN `familia` VARCHAR(20)
)
BEGIN
INSERT INTO `сourier` SET `username`=uname, `first_name`=familia, last_name='';
SELECT LAST_INSERT_ID() AS 'LAST_INSERT';
END
но всё-таки интересно как вернуть переменную, из хранимой процедуры
|
|
3
Fragster
гуру
29.07.20
✎
19:14
|
переходи с автоинкремента на ГУИД и генери и пихай его в базу сам
|
|
4
Сияющий в темноте
29.07.20
✎
23:03
|
так,насколько я помню,в php последний ид возвращается в результат запроса.
|
|
5
trmd
29.07.20
✎
23:42
|
(0) Вот так: $dbh->lastInsertId();
Но лучше переходи с ПХП на что-нибудь нормальное.
|
|
6
Fragster
гуру
30.07.20
✎
10:13
|
(5) похапэ норм, не надо тут
|
|