1

ノードで mysql-libmysqlclient を使用して LOAD DATA LOCAL INFILE を使用する必要があります。ただし、エラーが発生します

[エラー: クエリ エラー #1148: 使用されたコマンドは、この MySQL バージョンでは許可されていません]

これは、sequel pro から同じコマンドを実行しても発生しないため、問題は mysql-libmysqlclient によって使用される接続にある可能性が最も高いです。

これを修正するために mysql-libmysqlclient に送信するパラメータを知っている人はいますか?

接続の初期化:

secrets = stuff
mysql_db = mysql.createConnectionQueuedSync()

mysql_db.initSync()
mysql_db.realConnectSync secrets.host, secrets.user, secrets.password, secrets.database
mysql_db.connectError

module.exports = exports = mysql_db

送信クエリ:

mysql_db = require('./config/mysql_db')
sql_insert_into = "LOAD DATA local INFILE 'file_to_send.txt'     
into table #{table.name}    
FIELDS TERMINATED BY ';'    
LINES TERMINATED by '\\n'
"

mysql_db.query sql_insert_into, (err, answer)->
  console.log "sent " + sql_insert_into

私が得るエラー:

[Error: Query error #1148: The used command is not allowed with this MySQL version]

マイナーな注意: 私はコーヒー スクリプトでプログラムしますが、これは何も変更しないはずです

4

1 に答える 1

0

サーバーまたはクライアントで LOAD DATA LOCAL が無効になっている場合、そのようなステートメントを発行しようとするクライアントは、次のエラー メッセージを受け取ります。

ERROR 1148: The used command is not allowed with this MySQL version

有効にする方法については、以下の MySql Web サイトのリンクを参照してください。

https://dev.mysql.com/doc/refman/5.5/en/load-data-local.html

于 2013-01-24T08:46:14.677 に答える