web-dev-qa-db-ja.com

MySQLテーブルの列にファイルの内容を挿入します

LOAD DATA INFILEステートメントがあることを知っています。これにより、構造化データをテーブルに挿入できます。

私が興味を持っているのは、ファイルの内容を単一の列に挿入できるかどうかです。だから、このようなものです:

INSERT INTO my_table (stamp, what) VALUES (NOW(), LOAD DATA INFILE 'my_file');

可能?

21
Martin Tóth

はい、それは可能です。 LOAD_FILE() 関数を使用できます:

CREATE TABLE my_table (stamp datetime, what text);

INSERT INTO my_table (stamp, what) VALUES (NOW(), LOAD_FILE('/tmp/my_file.txt'));

ファイルがMySQLで読み取り可能であること、およびMySQLユーザーが FILE 特権を持っていることを確認する必要があります。これは、 LOAD DATA INFILE に必要な特権と同じです。

42
Daniel Vassallo

編集:私はあなたが間違っていることを理解しました、申し訳ありませんが、ダニエル・ヴァッサロは正しい答えを持っています。とにかくこれが役に立ちますように

BLOBまたはTEXTを探していると思います。 docs を参照してください。データベース内にファイルの日付を保存したい場合、これらはおそらくあなたが探しているものです

0
DrColossos