将标题重写为:使用变量获取MySQL字段名称
P粉237647645
P粉237647645 2023-10-20 09:39:08
[MySQL讨论组]

是否可以选择名称为字符串的字段?

从表中选择“字段名”

我需要这个触发器才能具有动态字段名称 类似的东西

SET fieldname = NEW.`name`;
UPDATE table SET fieldname = 1 ;


P粉237647645
P粉237647645

全部回复(1)
P粉986028039

正如这些正确答案的提示一样,您也可以在存储过程中执行此操作,这在 MySQL 8x 社区中非常适合我:

CREATE DEFINER=`root`@`127.0.0.1` PROCEDURE `SP_LIST_COLLECTORS`(
    IN P_email VARCHAR(60),#Admin email
    IN P_password_hash VARCHAR(255),#Admin hash
    IN P_filter_field VARCHAR(80),
    IN P_filter_value VARCHAR(255)
)
BEGIN
DECLARE V_filter_field VARCHAR(80);
    SET V_filter_field = P_filter_field;
    BEGIN
        GET DIAGNOSTICS CONDITION 1 @ERRNO = MYSQL_ERRNO, @MESSAGE_TEXT = MESSAGE_TEXT;
        SELECT 'ERROR' AS STATUS, CONCAT('MySQL ERROR: ', @ERRNO, ': ', @MESSAGE_TEXT) AS MESSAGE;
    END;
    SET @statement = CONCAT('SELECT collector_id, email, address, post_code, phone, alt_phone, contact_name
    FROM collectors_table
    WHERE ',P_filter_field, '=\'', P_filter_value, '\';');
    #SELECT collector_id, email, address, post_code, phone, alt_phone, contact_name FROM collectors_table WHERE (V_filter_field) = P_filter_value;
    PREPARE stmnt FROM @statement;
    EXECUTE stmnt;
END
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号