web-dev-qa-db-ja.com

SQL構文のみ(PHPなし)を使用してmysqlテーブルのblobに画像を挿入するにはどうすればよいですか?

  1. こんにちは、私はSQLを初めて使用し、データベースに画像を保存したいと考えていました。すでにblobデータ型の列を作成し、次のステートメントを実行しようとしました。
INSERT INTO `abc`
    (`img`)
    SELECT  
        BulkColumn FROM OPENROWSET(
            Bulk 'C:\Users\adity\Desktop\New folder\a.png', SINGLE_BLOB) AS BLOB

エラーが発生します

SQL構文にエラーがあります。 4行目の '(Bulk C:\Users\name\Desktop\New folder\a.png、SINGLE_BLOB)AS BLOB'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

私はまた与えられたように次のコードを試しました ここ

insert into table `abc`(`img`) values('C:\Users\name\Desktop\New folder\an.jpg') where id=1;

エラーが発生します

#1064-SQL構文にエラーがあります。 'table abcimg)values(' C:\ Users\adity\Desktop\New folder\anの近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。 jpg ')ここで、1行目のid = 1'

したがって、phpなどを使用せずに単純なsqlinsertステートメントを使用して画像をblobに保存する方法を提案してください。データベースにwampサーバーを使用しています。

  1. データベースではなくファイルシステムを画像に使用する必要があることはわかっていますが、ファイルシステムとは実際にはどういう意味ですか?アドレスがデータベースに保存されるファイルまたは画像ホスティングサイトを意味しますか?.
4
xxx

コマンドはMSSQL構文だと思います。次のコマンドを試してください。

INSERT INTO `abc`
(`img`)
VALUES
(LOAD_FILE('C:/Users/adity/Desktop/New folder/a.png'))

このコマンドは画像をBLOBとして保存します

6
aceraven777

Mysqlワークベンチを使用すると、次の手順を使用して画像をデータベースに非常に簡単にロードできます。

  1. テーブルの(blob)列の値を右クリックし、「ファイルから値をロード」を選択します。
  2. 次に、システムにイメージパスを提供できます。
  3. 次に、バイト配列に変換され、自動的に保存されます。
  4. 最後に、テーブルの変更を保存します。
1
Kona Suresh

以下は私のために働きます、

しかし、画像を動かすことでそれを成し遂げることができました(fileName.jpg)最初にファイルを下のフォルダ(私の場合)に入れるC:\ProgramData\MySQL\MySQL Server 5.7\Uploadsそれから私は以下のコマンドを実行しました、そしてそれは私のために働きます、

INSERT INTO `abc`
(`img`)
VALUES
(LOAD_FILE('C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/an.jpg'));

お役に立てれば。

0
tk_