gpt4 book ai didi

mysql - 请帮助MySql错误1054 : Unknown column 'column name' in field list

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

我有这张表:

CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(25) NOT NULL,
`pass` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8

我做了一个这样的存储过程:

create procedure uppdateUser(newname varchar(25), newpass varchar(50), newname2 varchar(25), newpass2 varchar(50))
-> begin
-> while name=newname && pass=newpass do
-> update users set name=newname2, pass=newpass2;
-> end while;
-> end

但是当我调用如下过程时,我收到错误字段列表中的未知列名称:

call uppdateUser('marky','mark','ice','cube');

我在 StackOverflow 上搜索了问题,但没有找到答案。谁能向我解释一下我的查询中存在什么问题以及如何解决它?

最佳答案

我认为问题在于 while 条件中对 namepass 的引用。这些引用文献无效。没有任何具有这些名称的过程参数或变量。

目前尚不清楚您想要实现什么目标,但我认为不需要 while 循环。

看起来您想要在 UPDATE 语句上使用 WHERE 子句。如果没有 WHERE 子句,UPDATE 语句将更新表中的每一行。并且无需多次运行。

我希望更新语句的形式如下:

 UPDATE users
SET name = v_newname
, pass = v_newpass
WHERE name = v_oldname
AND pass = v_oldpass

但是,我不太明白你想要实现什么目标。

首先,正确设置 UPDATE 语句。找出您想要执行的实际 SQL 语句。

一旦获得了它,就可以将其放入存储过程中。

关于mysql - 请帮助MySql错误1054 : Unknown column 'column name' in field list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36991158/

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