2017-02-19 4 views
0

私の意図は、毎日自動的にblobデータをMySQL/MariaDBテーブルフィールドにアップロードすることです。私はそのためにSQLスケジュールされたイベントを使用したい。しかし、私はSQLクエリを並べ替えることはできません。元のファイルはWeb上にありますが、私のローカルマシンでも検索できません。SQLを使用してblobをMySQLにアップロード

phpMyAdminで「イベントを追加」を使用すると、ローカルマシン上のファイルを参照できます。そして、これは私が自動的に生成されますコードされる:

INSERT INTO `items` (`id`, `data`) 
VALUES (NULL, 0x5b7b0d0a202020202276616c31223a2031312c0d0a202020202276616c32223a2031322c0d0a202020202276616c33223a2031330d0a7d2c207b0d0a202020202276616c31223a2032312c0d0a202020202276616c32223a2032322c0d0a202020202276616c33223a2032330d0a7d2c207b0d0a202020202276616c31223a2033312c0d0a202020202276616c32223a2033322c0d0a202020202276616c33223a2033330d0a7d5d); 

それはので、私は少し無知午前...VALUES (NULL, "C:\data.json");のようではありません。すべての指針/例を高く評価します。

答えて

1

セキュリティ上の理由から、MySQL/MariaDBはディスクに手を差し伸べる方法がありません。ファイルを開くために他の言語(PHP/Java/...)でコードを書かなければなりません。 INSERTを実行します。

そのヘックスは通常のテキスト("val1": 11, utf8:19:19'...)のように見えますが、ヘックスを使用する理由はありますか?実際、それはJSONのように見えます。それは関係がありますか?

UNHEX()も参照してください。さまざまなJSON関数を参照してください。その他

+0

最初の2つの文で説明されています。ありがとうございました。そのファイルは自分で作成したカスタムであり、はい、jsonです。 16進数はクエリを自動生成したときにDBから取得されたものです。しかし、JSON関数を使うためには参考に感謝します。私はまずdb内にファイルを持っていなければなりません:) – ZygD

+0

次に、あなたにはおそらくINSERT ... VALUES(...、UNHEX( "5b7b0d0a202020202276616c31223a20")) 'が必要です。 '0x'が削除されていることに注意してください。 –

関連する問題