Вот мой оригинальный ответ:
Я просто удаляю базу данных и воссоздаю вот так, и ошибка исчезла:
drop database if exists rhodes; create database rhodes default CHARACTER set utf8 default COLLATE utf8_general_ci;
[119 Однако, это не работает для всех случаев.
На самом деле проблема заключается в использовании индексов для столбцов VARCHAR с набором символов utf8
(или utf8mb4
) со столбцами VARCHAR, длина которых превышает определенную длину символов. В случае utf8mb4
эта определенная длина равна 191.
Обратитесь к разделу «Длинные индексы» в этой статье для получения дополнительной информации о том, как использовать длинные индексы в базе данных MySQL: http://hanoian.com/content/index.php/24-automate-the-converting- a-mysql-database-символ-набор-к-utf8mb4
Я обычно делаю:
grep install_targets Make-файл
Это возвратилось бы с чем-то как:
install_targets = install-xxx1 install-xxx2 ... etc
я надеюсь, что это помогает
Мой любимый ответ на это был отправлен Chris Down в Unix & Exchange Стопки Linux. Я заключу в кавычки.
Это - то, как модуль завершения удара для
make
получает свой список:make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}'
Это распечатывает разграниченный новой строкой список целей без подкачки страниц.
Пользователь Brainstone предлагает передать по каналу к sort -u
для удаления дублирующихся записей:
make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}' | sort -u
Источник: , Как перечислить все цели в, делают? (Unix& Linux SE)