Как добавить изображение в таблицу базы данных на рабочем столе?

#mysql #mysql-workbench #sql-insert #mysql-loadfile

Вопрос:

Я пытаюсь вставить изображение в таблицу базы данных, но каждый раз оно выдает ошибку:

Изображение столбца не может быть пустым

В то время как тип данных столбца изображения не является нулевым, как вы можете ясно видеть.

Как я могу решить эту проблему?

Выполнение внутри MySQL Workbench:

введите описание изображения здесь

Комментарии:

1. когда вы получаете нуль, это обычно указывает на то, что файл не удалось загрузить. Это может быть проблема с разрешениями.

Ответ №1:

Функция MySQL LOAD_FILE-это несколько условий, которые необходимо выполнить для успешного выполнения.

  • Файл, который вы пытаетесь загрузить, должен присутствовать на том же хосте, на котором запущен сервер MySQL. Например, если ваш сервер MySQL установлен на example.com, файл должен присутствовать на example.com только.
  • Необходимо указать полный путь к файлу. Итак, если ваш файл находится в домашнем каталоге пользователя, принимая имя пользователя w3r, вы должны указать ‘/home/w3r/somefile.txt’
  • Пользователь, выполняющий команду, должен иметь права доступа к ФАЙЛУ. Вы можете предоставить права доступа к ФАЙЛУ пользователю, указав «ПРЕДОСТАВИТЬ ФАЙЛ по имени базы данных.* пользователю@localhost».
  • Файл, о котором идет речь, должен быть доступен для чтения всеми. Если вы пытаетесь загрузить файл, которого нет в домашнем каталоге пользователя hieararchy, убедитесь, что у вас есть разрешение на чтение файла.
  • Сервер MySQL имеет переменную max_allowed_packet. Файл, о котором идет речь, не должен превышать значения, указанного в этой переменной. Вы можете проверить значение max_allowed_packet с помощью «показать переменные, такие как» %max_allowed_packet%»;»; для выполнения этой команды у вас должны быть права администратора MySQL. Вы изменяете значение max_allowed_packet в файле конфигурации MySQL. Откройте свой файл my.ini или my.cnf, найдите строку max_allowed_packet=some_value и измените значение на желаемое, например, если вы хотите установить значение valle равным 50 МБ, напишите 50 МБ.
  • В MySQL есть переменная secure_file_priv. Если значение этой переменной равно непустому имени каталога, загружаемый файл должен находиться в этом каталоге. Вы можете найти переменную secure_file_priv и ее значение и указать ее в своем файле конфигурации MySQL.