Zauważ, że dla SET, albo =albo :=może być użyte jako operator przypisania. Jednak wewnątrz innych instrukcji operator przypisania musi być, :=a nie =dlatego, że =jest traktowany jako operator porównania w instrukcjach innych niż SET.
AKTUALIZACJA:
Po komentarzach poniżej możesz także wykonać następujące czynności:
A tak przy okazji, czy możesz zignorować dane wyjściowe pierwszej instrukcji (jako jedyne przypisanie zmiennej) i wyświetlić tylko dane wyjściowe drugiego zapytania?
Avada Kedavra
3
@Avada: Zaktualizowałem moją odpowiedź o alternatywę, która nie daje wyniku dla przypisania zmiennej.
select grop into @group from user limit 1
.Po prostu dodaj nawias wokół zapytania:
źródło
Subquery returns more than 1 row
dla mnieNajpierw przyjrzyjmy się, jak możemy zdefiniować zmienną w mysql
Aby zdefiniować zmienną w mysql, powinna zaczynać się od „@” jak @ {nazwa_zmiennej}, a ta „{nazwa_zmiennej}”, możemy zastąpić ją naszą nazwą zmiennej.
Teraz, jak przypisać wartość do zmiennej w mysql. W tym celu mamy wiele sposobów
Przykład: - mysql> SET @a = 1;
Przykład: - mysql> @a: = 1;
Przykład: - mysql> wybierz 1 na @a;
Tutaj @a jest zmienną zdefiniowaną przez użytkownika, a 1 będzie przypisana w @a.
Teraz, jak uzyskać lub wybrać wartość @ {nazwa_zmiennej}.
możemy użyć instrukcji select podobnej do
Przykład: -
mysql> select @a;
pokaże wynik i wartość @a.
Teraz, jak przypisać wartość z tabeli w zmiennej.
W tym celu możemy użyć dwóch instrukcji, takich jak:
@a: = (wybierz emp_name od pracownika, gdzie emp_id = 1);
wybierz emp_name na @a od pracownika, gdzie emp_id = 1;
Zawsze bądź ostrożny nazwa_imienna musi zwrócić jedną wartość, w przeciwnym razie spowoduje to błąd w instrukcjach tego typu.
patrz to: - http://www.easysolutionweb.com/sql-pl-sql/how-to-assign-a-value-in-a-variable-in-mysql
źródło
Użyj tego sposobu, aby wynik nie był wyświetlany podczas uruchamiania procedury składowanej.
Zapytanie:
źródło