it-swarm.com.de

Wie füge ich eine Datei in eine MySQL-Datenbank ein?

Ich möchte eine Datei in eine MYSQL-Datenbank einfügen, die sich auf einem Remote-Webserver befindet, der einen Webservice verwendet.

Meine Frage ist: Welche Art von Tabellenspalte (z. B. varchar usw.) speichert eine Datei? Und wird die insert-Anweisung im Falle einer Datei etwas anders sein?

27
meetpd

Der BLOB-Datentyp eignet sich am besten zum Speichern von Dateien.

24
Brian Webster

Die anderen Antworten geben Ihnen eine gute Vorstellung davon, wie Sie das erreichen können, wonach Sie gefragt haben ....

Jedoch

Es gibt nicht viele Fälle, in denen dies eine gute Idee ist. Es ist normalerweise besser, nur den Dateinamen in der Datenbank und die Datei im Dateisystem zu speichern.

Auf diese Weise ist Ihre Datenbank viel kleiner, einfacher zu transportieren und vor allem schneller zu sichern/wiederherzustellen.

12
David Steele

Sie müssen BLOB verwenden, es gibt WENIG, MITTEL, LANG und nur BLOB. Wählen Sie wie bei anderen Typen einen BLOB entsprechend Ihren Größenanforderungen.

TINYBLOB 255
BLOB 65535
MEDIUMBLOB 16777215
LONGBLOB 4294967295
(in bytes)

Die insert-Anweisung wäre ziemlich normal. Sie müssen die Datei mit fread und anschließend mit addslashes lesen.

12
Daniel Bang

Dateigröße nach MySQL-Typ:

  • TINYBLOB 255 Bytes = ,000255 Mb
  • BLOB 65535 bytes = .0655 Mb
  • MEDIUMBLOB 16777215 bytes = 16.78 Mb
  • LONGBLOB 4294967295 bytes = 4294.97 Mb = 4.295 Gb
11
Lukas