gpt4 book ai didi

MySQL 存储过程将参数输入与表值进行比较

转载 作者:行者123 更新时间:2023-11-29 15:32:20 25 4
gpt4 key购买 nike

我正在尝试编写一个存储过程,它接受一个值,然后将其与表值进行比较。例如

该过程采用 varchar(30) 值(例如“RED”)作为 c_title,然后将其与名为“campaign”的表中的所有标题进行比较,如果匹配,则使用特定值更新某些列。

基本上你会如何比较mysql中字符串值的两个变量?

我尝试了使用 LIKE、IN 和 = 的不同比较方法

CREATE PROCEDURE sp_finish_campaign(in c_title varchar(30)) 
Begin
Update campaign
Set TITLE = "Hello"
where TITLE = c_title;
END

新标题值应为 hello,其中 TITLE 与输入值匹配

但我收到错误代码 1064,因为语法错误。

感谢任何反馈。谢谢

最佳答案

您需要以分号结束更新,但首先重新定义存储过程将使用的分隔符:

DELIMITER // ;
CREATE PROCEDURE sp_finish_campaign(IN c_title varchar(30))
BEGIN
UPDATE campaign
SET TITLE = 'Hello'
WHERE TITLE = c_title;
END //

此外,在 MySQL 中定义字符串文字时,您应该尝试使用引号。双引号很可能也可以使用,但它们主要用于指示数据库对象(例如数据库、表和列名称),而不是字符串。

关于MySQL 存储过程将参数输入与表值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58601762/

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