Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
过程中的MySQL错误#1351-View';s SELECT包含一个变量或参数_Mysql_Sql_Phpmyadmin_Mamp - Fatal编程技术网

过程中的MySQL错误#1351-View';s SELECT包含一个变量或参数

过程中的MySQL错误#1351-View';s SELECT包含一个变量或参数,mysql,sql,phpmyadmin,mamp,Mysql,Sql,Phpmyadmin,Mamp,PhpMyAdmin不接受过程中的参数“id\u jugador\u IN” 这是我们正在执行的程序: SET GLOBAL event_scheduler = 1; use traviandatabase; DELIMITER $$ DROP PROCEDURE IF EXISTS sp_monitoritzacio_jugador $$ CREATE PROCEDURE sp_monitoritzacio_jugador(IN id_jugador_IN INT(10)) BEGI

PhpMyAdmin不接受过程中的参数“id\u jugador\u IN”

这是我们正在执行的程序:

SET GLOBAL event_scheduler = 1;

use traviandatabase;

DELIMITER $$

DROP PROCEDURE IF EXISTS sp_monitoritzacio_jugador $$

CREATE PROCEDURE sp_monitoritzacio_jugador(IN id_jugador_IN INT(10))

BEGIN

    CREATE OR REPLACE 
    VIEW dades_ususari AS 
    SELECT j.nom AS jugador, j.sexe AS sexe, j.edat AS edat, j.correu AS correu, a.nom AS alianca, p.nom AS pais, c.nom_ciutat AS ciutat
    FROM jugador AS j
    JOIN alianca AS a
    JOIN pais AS p
    JOIN ciutat AS c
    ON j.id_jugador = id_jugador_IN
    GROUP BY id_jugador_IN;

END $$

DELIMITER ;

CALL sp_monitoritzacio_jugador(1);
这张桌子是“jugador”:

因此它不会停止显示相同的错误:


MySQL说:1351-View的SELECT包含一个变量或参数,正如您所看到的-View不能使用变量,这是一个限制。您正在尝试创建具有确切位置条件的视图;首先构造CREATEVIEW语句文本,然后使用执行该语句,这将对您有所帮助。但是,您真的需要它来创建、创建和创建新视图吗

编辑:这是注释中引用的内容

MySQL限制视图中使用局部变量的一个简单解决方法是使用一个函数,该函数返回变量的值:

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();

是的,我需要它,因为这是锻炼的必要条件。。我知道,这很糟糕。谢谢你提供的信息!请查看视图的文档:。有用户评论,请阅读这篇-“MySQL限制视图中使用局部变量的简单解决方法…”它可能会对您有所帮助。在我的安装中,此解决方法有一个副作用,即视图
主题书籍
不使用
书籍
主题
的索引。
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();