4

私はやや奇妙なことに遭遇しました.Windowsのファイル名からクエリを実行しています

好きsource c:\sql\general.sqlだがそれは失敗する

mysql> source c:\sql\general.sql
--------------
mysql  Ver 14.14 Distrib 5.6.11, for Win32 (x86)

Connection id:          6
Current database:       joins
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.6.11 MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    cp850
Conn.  characterset:    cp850
TCP port:               3306
Uptime:                 5 days 2 hours 53 min 45 sec

Threads: 1  Questions: 167  Slow queries: 0  Opens: 86  Flush tables: 1  Open ta
bles: 62  Queries per second avg: 0.000
--------------

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'sourc
e c:ql' at line 1
    ->

これがクエリ

CREATE TABLE mytable (
    id INT NOT NULL AUTO_INCREMENT,
    name varchar(50) NOT NULL,
    PRIMARY KEY (id)
);

ただし、同じクエリを実行しようとすると、今回はファイルに名前を付けますstuff.sql

mysql> source c:\sql\stuff.sql
Query OK, 0 rows affected (0.65 sec)

これは通常のエラーですか?

アップデート

source c:\sql\\general.sqlこのエラーが発生します

mysql> source c:\sql\\general.sql
--------------
mysql  Ver 14.14 Distrib 5.6.11, for Win32 (x86)

Connection id:          6
Current database:       joins
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.6.11 MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    cp850
Conn.  characterset:    cp850
TCP port:               3306
Uptime:                 5 days 3 hours 42 min 4 sec

Threads: 1  Questions: 192  Slow queries: 0  Opens: 97  Flush tables: 1  Open ta
bles: 62  Queries per second avg: 0.000
--------------

ERROR:
Unknown command '\\'.
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'sourc
e c:ql\\general.sql' at line 1
mysql>
4

2 に答える 2

3

スラッシュを使用します。

mysql> source c:/sql/general.sql

Microsoft がデフォルトのディレクトリ セパレータにメタ文字を使用していることを、私は決して許しません。

于 2013-07-02T16:43:05.833 に答える
1

\gMYSQL で出力フォーマット文字として使用されます。たとえば、ダブルエスケープする必要があります

source c:\sql\\general.sql
于 2013-07-02T16:43:27.003 に答える