Som du ser - view kan ikke bruge variabler, det er en begrænsning. Du forsøger at skabe en visning med nøjagtig WHERE-tilstand; konstruer CREATE VIEW-sætningsteksten først, og brug derefter forberedte erklæringer at udføre erklæringen, vil det hjælpe dig. Men har du virkelig brug for det, for at skabe, skabe og skabe en ny visning?
EDIT:Dette er indholdet af referencen i kommentaren.
Olexandr Melnyk En simpel løsning for MySQL's begrænsning på brug af lokale variabler i visninger er at bruge en funktion, som returnerer variablens værdi:
create function book_subject
returns varchar(64) as
return @book_subject;
create view thematical_books as
select title
, author
from books
where subject = book_subject();