我们在mysql中需要分号吗?源文件名;运行批处理文件?

时间:2016-09-12 13:29:55

标签: mysql sql database windows batch-file

我在位置D:\Softwear\mysql\install\data\bat.sql有一个sql批处理文件。批处理文件如下:

use menagerie;
select * from event

请注意,最后一行后面没有分号。也没有任何换行符(\n

我想通过mysql提示符运行此文件。 official documentation表示在查询结尾处加上分号:

mysql> source filename;

当我运行查询时,我会导致一个奇怪的情况:

mysql> source D:\Softwear\mysql\install\data\bat.sql;
ERROR:
Unknown command '\S'.
ERROR:
Unknown command '\m'.
ERROR:
Unknown command '\i'.
    -> ;
    -> ;
    ->

可以看出,我无法摆脱->。这些错误是什么?

另一方面,如果我从查询中删除分号,一切正常:

mysql> source D:\Softwear\mysql\install\data\bat.sql
Database changed
+----------+------------+----------+------------------------------+
| name     | date       | type     | remark                       |
+----------+------------+----------+------------------------------+
| Tommy    | 2000-01-02 | litter   | 4 kittens, 3 females, 1 male |
| Bowser   | 2001-04-26 | vet      | needed break straightened    |
| puffball | 2002-05-13 | birthday | gave him a new chew toy      |
+----------+------------+----------+------------------------------+
3 rows in set (0.00 sec)

mysql>  

添加分号时,为什么会出现错误和提示的奇怪行为?该文档错误地添加了分号吗?

P.S:即使我在;的末尾加上\nbat.sql这样的分隔符,也没有任何区别。如果我在查询结束时放置;,我仍然会收到错误。

0 个答案:

没有答案