Как сбросить BLOB с php / mysql?

0

Потому что я сделал это непреднамеренно. После чтения wikipedia я понимаю, что "двоичный большой объект" предназначен для больших медиафайлов, и я не сохраняю медиафайл.

Итак, как данные хранятся таким образом? Что не так с этой настройкой, чтобы отображать текст как BLOB в phpmyadmin?

поле MySql от phpmyadmin,
Поле = 'first_name'
Тип = текст
Collation = latin1_bin
Null = No
По умолчанию = Нет

Код php, $ insertName = "INSERT INTO name (first_name, last_name) VALUES ('$ firstName', '$ lastName')"; $ dbSuccess_1 = mysql_query ($ insertName, $connectID) или die ( "ERROR_1 - Не удалось сохранить   к MySQL".error_get_last(). mysql_error ($ connectID));

  • 2
    Какой у Вас вопрос? Я не понимаю
  • 0
    Если вы говорите, что хотите хранить двоичные файлы в вашей базе данных, это неправильно. Вы должны хранить их в своей файловой системе, а в своей базе данных хранить ссылку на файл в системе.
Показать ещё 1 комментарий
Теги:
blob

2 ответа

1
Лучший ответ

Если вы спрашиваете, как изменить столбец BLOB в TEXT, вы будете использовать запрос, подобный этому:

ALTER TABLE `name`  
    CHANGE COLUMN `first_name` `first_name` TEXT NULL FIRST
    ,CHANGE COLUMN `last_name` `last_name` TEXT NULL AFTER `first_name`;

Вы можете использовать PHPMyAdmin, чтобы сделать изменение еще проще.

  • 0
    IIRC phpMyAdmin (по крайней мере, более старые версии) показывал поля TEXT и BLOB как «BLOB». Если вы создали их как текст, вероятно, в этом нет ничего плохого.
  • 0
    [Я удалил свой предыдущий комментарий к этому сообщению, потому что, когда я перечитал свой вопрос, я понял, что этот ответ совершенно правильный.] Хотя phpMyAdmin по-прежнему отображает эти исходные таблицы как TEXT, когда я загружал их на другой сервер и создавал таблицы в таким же образом, текст отображается правильно на другом сервере. Я могу только заключить, что какой-то другой параметр изменяет данные TEXT на BLOB или таблица каким-то образом повреждена.
0

TEXT и BLOB по существу идентичны, за исключением того, что поля TEXT подпадают под ограничения набора символов (и набор символов учитывается при сортировке/группировке полей), тогда как BLOB хранятся дословно в виде последовательности байтов и не будут трансформированы.

Соответствующие документы: http://dev.mysql.com/doc/refman/5.0/en/blob.html

  • 0
    Вы хотите сказать, что установленная мной сортировка вызывает установку BLOB-объекта, даже если я выбрал ТЕКСТ при создании таблицы?
  • 0
    Нет, это победило бы цель поля ТЕКСТ. Возможно, это phpmyadmin, который рассматривает текст как блоб для отображения. У вас есть доступ к нормальной консоли MySQL? Если вы можете, зайдите в это и попробуйте сделать show create table tablename или describe tablename show create table tablename и посмотрите, что там сообщается.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню