MySQL Процедура Проблема, получение пользователя, который я последний раз вводил заново - PullRequest
1 голос
/ 29 апреля 2020

Здравствуйте, у меня проблема с моей процедурой Mysql, каждый раз, когда я пытаюсь вставить нового «пользователя» в таблицу и вызывать после того, как все «пользователи» в таблице, я получаю только последнего «пользователя» с другой "идентификатор", когда я вызываю запросы без процедуры, кажется, все в порядке. У меня есть одна дочерняя таблица, связанная с основной таблицей.

>     CREATE DEFINER=`Marko`@`localhost` PROCEDURE `InserUser`( in FirstName varchar(30), in LastName varchar(30), in cityID int ) BEGIN
> insert into Users (FirstName, LastName, cityID) values (FirstName,
> Lastname, cityID); select  Users.id, FirstName, Lastname, city from
> Users inner join citys on Users.cityID = citys.id;
> 
> END

1 Ответ

0 голосов
/ 29 апреля 2020

Используйте префиксы с именами параметров, чтобы MySQL мог отличить guish параметры от имен столбцов.

CREATE DEFINER=`Marko`@`localhost` PROCEDURE `InserUser`( 
in_FirstName varchar(30), 
in_LastName varchar(30), 
in_cityID int
) 
BEGIN

insert into Users (FirstName, LastName, cityID) 
values (in_FirstName, in_Lastname, in_cityID); 

select u.id, u.FirstName, u.Lastname, c.city 
from Users u
  inner join citys c on u.cityID = c.id;

END
...