gpt4 book ai didi

mysql - 从字段类型为 INT 的表中选择

转载 作者:行者123 更新时间:2023-11-29 07:51:41 25 4
gpt4 key购买 nike

我有一个在其他表上运行BEFORE INSERT的触发器

BEGIN
DECLARE test VARCHAR(3000);
SELECT APPLICATION.APP_DATA into @test FROM APPLICATION WHERE APP_NUMBER=1 LIMIT 1;
END

APP_NUMBER 的类型为 INT,触发器运行时 @testNULL。为什么?

当我这样做的时候

SELECT APPLICATION.APP_DATA 
FROM APPLICATION
WHERE APP_NUMBER=1 LIMIT 1;`

它返回一个正确的值!

最佳答案

首先 MySQL 支持两种不同类型的变量:本地变量和用户( session )变量。

现在使用 DECLARE 定义局部变量 test,但随后尝试将值分配给 session 变量 @test

绝对不清楚您想要实现什么以及为什么要实现,但这里有一个可行的示例

DELIMITER //
CREATE TRIGGER my_trigger
BEFORE INSERT ON table1
FOR EACH ROW
BEGIN
DECLARE test VARCHAR(32);
SELECT app_data INTO test FROM application WHERE app_number = 1 LIMIT 1;
SET NEW.data = test;
END
DELIMITER ;

这里是SQLFiddle 演示

关于mysql - 从字段类型为 INT 的表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26261270/

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