gpt4 book ai didi

mysql - 井字游戏字段列表 MySQL 中的未知列 'i'

转载 作者:行者123 更新时间:2023-11-29 21:47:36 24 4
gpt4 key购买 nike

我的 Tic-tac-toe 游戏中有一部分会收集初始用户的 Action ,然后更新棋盘。 move 变量以字符串开头,因此我使用 substring 从字符串中获取列和行,并将它们放入两个变量 i 和 j 中。然后我使用更新语句来更改主板。然而,当我这样做时,它会返回错误“字段列表中未知的列‘i’”。我不明白为什么,因为我在程序顶部声明了两个变量。

编辑:这是我正在使用的表的代码:

CREATE TABLE `tictactoe_4213`.`grid` 
(`TTT` INT NOT NULL,
`A` VARCHAR(45) NULL,
`B` VARCHAR(45) NULL,
`C` VARCHAR(45) NULL,
PRIMARY KEY (`TTT`));

Insert into grid
values (1, null, null, null),
(2, null, null, null),
(3, null, null, null);

代码如下:

create procedure tictactoe(input varchar(4))
begin

declare i varchar(1);
declare j varchar(1);

...

if input like 'bu__' then

select substring(input, 3, 1) into i;
select substring(input, 4, 1) into j;

if i not in ('A', 'B', 'C') then
select 'Invalid Letter. Please enter a letter between A and C for the column.';
end if;

if j not in (1, 2, 3) then
select 'Invalid Number. Please enter a number between 1 and 3 for the row.';
end if;

update grid
set i = 'U'
where ttt = j;

select * from grid;
end if;

任何提供的帮助将不胜感激!

最佳答案

假设我有这个模式。现在我知道了。

create table grid
(
ttt int not null
);

这是我的存储过程

drop procedure if exists asdf;

delimiter $$
create procedure asdf(input varchar(40))
begin

declare i varchar(1);
declare j varchar(1);

set i='a';

update grid
set i = 'U'
where ttt = j;

if i not in ('A', 'B', 'C') then
select 'hello' as aMsg;
else
select '2222' as aMsg;
end if;

end
$$
delimiter ;

我称之为

call asdf('ignore');

我收到了确切的错误消息

Error Code: 1054. Unknown column 'i' in 'field list'

所以i不是表grid中的列

关于mysql - 井字游戏字段列表 MySQL 中的未知列 'i',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33977147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com