mysql之粘贴到 mysql CLI 不起作用之它丢失了一些字符

无情 阅读:29 2024-02-27 23:08:18 评论:0

我将一个 >2KB 的 SQL 文件粘贴到 mysql CLI,它随机丢失字符,然后在我的 SQL 中报告语法错误。

例如:

(.....) 
UPDATE ct_transform_target_summary 
SET 
ytd_margin_target = jul_margin_target + aug_margin_target + sep_margin_target + oct_margin_target + nov_margin_target + dec_margin_target + 
                    jan_margin_target + feb_margin_target + mar_margin_target + apr_margin_target + may_margin_target + jun_margin_target, 
ytd_adjustments = jul_margin_adj + aug_margin_adj + sep_margin_adj + oct_margin_adj + nov_margin_adj + dec_margin_adj + 
                  jan_margin_adj + feb_margin_adj + mar_margin_adj + apt_margin_adj + may_margin_adj + jun_margin_adj, 
ytd_margin = jul_margin + aug_margin + sep_margin + oct_margin + nov_margin + dec_margin + 
             jan_margin + feb_margin + mar_margin + apr_margin + may_margin + jun_margin; 
(....) 

变成:

(....) 
->    
->    
->   SET 
->     ytd_margin_target = jul_margin_target + aug_margin_target + sep_margin_target + oct_margin_target + nov_margin_target + dec_margin_target + 
->                     
->     ytd_adjustments = jul_margin_adj + aug_margin_adj + sep_margin_adj + oct_margin_adj + nov_margin_adj + dec_margin_adj + 
->                       jan_margin_adj + feb_ma 
->     ytd_margin = jul_margin + aug_margin + sep_margin + oct_margin + nov_margin + dec_margin + 
->                  jan_margin + feb_margin + mar_margin + apr_margin + may_ 

这显然不会发生在短 SQL 代码上,而只会发生在长代码上。 这可能是我的终端(Fedora 17 Gnome 终端)引起的还是 mysql CLI 的问题?

我以前从未在终端遇到过这样的问题。它只发生在 mysql cli 中。

请您参考如下方法:

将 SQL 写入文件,即:query.sql,然后在 mySQL CLI 中使用 source 命令。

$ vi query.sql 
$ mysql -h db.host.tld -u user -p 
mysql> use mydatabase 
mysql> source query.sql 


标签:mysql
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号