Board logo

标题: [文本处理] [已解决]mysql执行.sql文件出错时批处理能否提示 [打印本页]

作者: hucuibai    时间: 2011-4-21 10:27     标题: [已解决]mysql执行.sql文件出错时批处理能否提示

本帖最后由 hucuibai 于 2011-4-22 17:04 编辑

我用批处理执行mysql -uroot -p123456 <***\***.sql&&echo ok||echo failed
这个好像不行!
作者: zz100001    时间: 2011-4-21 15:18

我这里没问题啊

D:\>type t.sql
use test;
select * from test;
D:\>mysql -uroot -proot <D:\t.sql&&echo ok||echo failed
id      name
1       aa,bb,cc
ok

D:\>

作者: hucuibai    时间: 2011-4-22 09:58

2# zz100001


哦 可能是我没说清楚,我是要重定向这个错误,批处理的错误可以重定向到文件,但是mysql程序的错误只输出到屏幕,不能重定向到文件!
作者: batman    时间: 2011-4-22 10:08

本帖最后由 batman 于 2011-4-22 10:12 编辑
  1. @echo off
  2. mysql -uroot -p123456 <***\***.sql|findstr "错误信息关键字">a.txt
  3. start a.txt
复制代码

作者: zz100001    时间: 2011-4-22 10:21

怎么不行?你写的有问题吧
D:\>type t.sql
use test;
select * from test;
select * from ttm;
D:\>mysql -uroot -proot < D:\t.sql 2>D:\e.txt
id      name
1       aa,bb,cc

D:\>type e.txt
ERROR 1146 (42S02) at line 3: Table 'test.ttm' doesn't exist

D:\>

作者: hucuibai    时间: 2011-4-22 12:42

5# zz100001


那就去了怪了 ,我的就不行!我也是这么写的啊




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2