zoukankan      html  css  js  c++  java
  • MySQL 项目中 SQL 脚本更新、升级方式,防止多次重复执行

    一套代码,多家部署时,在SQL脚本升级时,通过一个SQL文件给运维,避免出现SQL执行序顺出错及漏执行SQL

    SQL Server 项目中 SQL 脚本更新方式

    Oracle 项目中 SQL 脚本更新方式

    MySQL 项目中 SQL 脚本更新、升级方式,防止多次重复执行

    MySQL 中不像 Oracle或 MSSQL 可以直接在脚本中进行 if 判断,所以可以通过添加存储过程的方式,来解决这个问题

    如:MySQL 创建存储过程注意项

    #通过存储过程添加字段,如果字段存在就不添加。执行后将存储过程删除
    DELIMITER //
    CREATE PROCEDURE thoth_mes.ADD_USER_REAL_NAME() BEGIN IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE table_schema = 'test' AND table_name = 'sys_user' AND column_name = 'REAL_NAME') THEN ALTER TABLE `sys_user` ADD COLUMN `REAL_NAME` VARCHAR(20) NULL COMMENT '真实姓名' AFTER `LoginName`; END IF; END; // CALL ADD_USER_REAL_NAME; DROP PROCEDURE ADD_USER_REAL_NAME;


    # 若记录已经存在,则忽略本次操作,返回影响行为0,否则执行插入操作,返回影响行为1
    INSERT IGNORE INTO sys_user(id,loginName)VALUE(123,456)

    # 若记录已经存在,则删除老的记录,插入此新的记录,否则直接插入
    REPLACE INTO sys_user(id,loginName)VALUE(123,789)
  • 相关阅读:
    双色球随机一注
    if else的简写
    select
    预解析
    json
    数组方法
    arguments
    国密SM4算法
    AES算法
    Feistel算法结构与DES加密算法
  • 原文地址:https://www.cnblogs.com/vipsoft/p/15743683.html
Copyright © 2011-2022 走看看