1。)替代mysql中的存储过程,可以改变而不是删除并重新创建
2.。)维护数据库版本的简单方法我手动创建log.sql文件,例如log.sql文件示例
ALTER TABLE `ship`
CHANGE COLUMN `is_deleted` `is_deleted` INT(11) NULL DEFAULT 0 ;
DROP procedure IF EXISTS `get_ship`;
DELIMITER ;;
CREATE PROCEDURE `get_ship`(
)
BEGIN
do something;
end if;
END ;;
DELIMITER ;
是否有更好,更简单的方法来创建此类SQL日志文件, 我已经尝试过MYSQL工作台
答案 0 :(得分:0)
使用以下任何一种方法重新定义表结构时
并且您的存储过程依赖于同一个表及其预定义的列, 然后你没有选择,只能重新定义你的存储过程的一部分。
这只能通过再次删除并重新创建过程来实现。
根据ALTER PROCEDURE Syntax
上的文档,在MySQL中,
但是,您无法使用此语句更改存储过程的参数或主体;要进行此类更改,您必须使用DROP PROCEDURE和CREATE PROCEDURE删除并重新创建该过程。
add column
可能不需要重新构建您的存储过程,除非新列也参与了该过程的算法。