我在位置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:即使我在;
的末尾加上\n
或bat.sql
这样的分隔符,也没有任何区别。如果我在查询结束时放置;
,我仍然会收到错误。