优质VPS推荐
VPS优惠 评测

mysql5.6数据库判断字段是否存在表中 不存在则添加

mysql5.6数据库判断字段是否存在表中,如果不存在,不存在则添加,如果存在,则跳过,以下是mysql5.6环境的示例

该操作需要执行2步,

第一步:

要在存储过程中一次性添加多个字段,您可以在存储过程中使用多个 ALTER TABLE 语句,每个语句负责添加一个字段。以下是一个示例存储过程,用于一次性添加多个字段:

DELIMITER //

CREATE PROCEDURE AddColumnsIfNotExist()
BEGIN
    DECLARE column1_exists INT;
    DECLARE column2_exists INT;

    -- 检查第一个字段是否存在
    SELECT COUNT(*)
    INTO column1_exists
    FROM information_schema.COLUMNS
    WHERE TABLE_SCHEMA = '你的数据库名'
    AND TABLE_NAME = '你的表名'
    AND COLUMN_NAME = '你要增加的字段1';

    -- 如果第一个字段不存在,执行添加字段的操作
    IF column1_exists = 0 THEN
        ALTER TABLE 你的表名
        ADD COLUMN 你要增加的字段1 数据类型;
    END IF;

    -- 检查第二个字段是否存在
    SELECT COUNT(*)
    INTO column2_exists
    FROM information_schema.COLUMNS
    WHERE TABLE_SCHEMA = '你的数据库名'
    AND TABLE_NAME = '你的表名'
    AND COLUMN_NAME = '你要增加的字段2';

    -- 如果第二个字段不存在,执行添加字段的操作
    IF column2_exists = 0 THEN
        ALTER TABLE 你的表名
        ADD COLUMN 你要增加的字段2 数据类型;
    END IF;
    
    -- 可继续添加更多字段的检查和添加操作
END;
//

DELIMITER ;

第二步:这将执行存储过程并一次性完成添加字段和检查字段是否存在的操作。请确保备份数据并小心操作,以防不测情况。

CALL AddColumnsIfNotExist();

执行完会将数据库内没有的字段增加,执行完后执行下面的命令删除存储的记录

DROP PROCEDURE IF EXISTS AddColumnsIfNotExist;

如果不删除存储记录,则无法再 添加 存储,因为已经有记录存在。

赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《mysql5.6数据库判断字段是否存在表中 不存在则添加》
文章链接:https://www.tianyanjie.com/1841.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册