从脚本中导入的存储过程脚本,注释没有了

本文详细介绍了如何解决在MySQL命令行环境下执行脚本时注释丢失的问题,通过添加--comment参数,确保注释在命令行执行时也能被正确保留。适用于大量脚本操作的场景,提高脚本执行效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有以下脚本文件: test.sql

DROP PROCEDURE IF EXISTS  T1;

DELIMITER $$

create procedure t1(in _Id int, in _Name varchar(20)/*--上一个name*/)
begin
select _Id , _Name; /* a test*/
end $$

DELIMITER ;

------------------- 文件结束 --------------------

我在命令行中执行这文件
shell>mysql -u root --password=xxx --default-character-set=gbk < test.sql

在mysql中执行查看
mysql> show create procedure `t1`\G
*************************** 1. row ***************************
           Procedure: t1
            sql_mode: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITU
TION
    Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `t1`(in _Id int, in _Name varchar(20) )
begin
select _Id , _Name;
end
character_set_client: gbk
collation_connection: gbk_chinese_ci
  Database Collation: latin1_swedish_ci
1 row in set (0.00 sec)

--------
我的注释没有的,怎么解决?
我如果用mysql管理工具来执行的话,是有注释的。但是我有上百个脚本,只能用命令行。

 

自己解决:加--comment参数
因为mysql默认加--skip-comment

shell>mysql -hlocalhost -u root --pxxx  --default-character-set=latin1 --comment fra(数据库名)< test.sql

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值