我创建了一个新的mysql表,我希望通过命名变量获取值。

在下面的代码中,select * from test where name := animalname;无法在mysql工作台中运行。建议。非常感谢

CREATE TABLE test (
id INT AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);

insert into test(name) values ('bat');
insert into test(name) values ('cat');
insert into test(name) values ('rat');

SET @animalname := 'cat';
select * from test where name := animalname;
分析解答
select * from test where name = @animalname;

:=实际上设置了一个变量。您想在SELECT中进行比较,因此请使用= 你错过了@