Intereting Posts
Пользователи с настраиваемыми ролями, которые не отображаются в поле выбора автора сообщения Как добавить условные обозначения для браузеров IE между определенными версиями? Восстановление пароля на странице Тема или плагин: где я должен писать свой код? Одностраничный сайт WordPress – настраиваемые поля или мета-поля или что-то еще? WP-REST создает пользователя с настраиваемым мета Используйте Timber / Twig, чтобы потянуть изображение по идентификатору изображения Правильно очистить правила перезаписи при активации плагина Как ограничить содержание сообщения и удалить изображение с него Справка по отображению связанных категорий Ограничение страниц на основе иерархии и роли пользователя Запросить настраиваемый тип сообщения только в том случае, если он содержит другой настраиваемый тип сообщения Могу ли я использовать WP для создания многосайтового импорта сообщений из 3 старых веб-сайтов WP? Получить идентификатор страницы по шаблону Несколько поисковых запросов на одной странице

dbDelta использование внешнего ключа, не работающего над обновлением

Я использую FOREIGN KEY с dbDelta при активации плагина (register_activation_hook ()). Он отлично работает при создании таблицы в первый раз, но выводит ошибку при обновлении таблицы (таблица уже присутствует, но в таблице необходимо внести изменения). Какие-либо предложения?

if(GLOBAL_PLUGIN_VERION != get_option("GLOBAL_PLUGIN_VERSION")){ $sql = "CREATE TABLE `".TEST_TABLE."` ( `id` INT( 11 ) NOT NULL AUTO_INCREMENT, `title` VARCHAR( 100 ) NOT NULL, `description` TEXT DEFAULT NULL, `location_id` INT( 11 ) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`location_id`) REFERENCES `".TEST2_TABLE."` (`id`) );"; } 

Ошибка:

Замечание PHP: Неопределенное смещение: 1 в wp-admin / upgrade.php в строке 1568

Ошибка базы данных WordPress У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с FOREIGN KEY ( location_id ). ССЫЛКИ test2 ( id ) 'в строке 1 для запроса ALTER TABLE test ADD COLUMN FOREIGN KEY ( location_id ) ССЫЛКИ test2 ( id ) made от …

Ошибка базы данных WordPress Несколько первичных ключей, определенных для запроса ALTER TABLE TEST ADD PRIMARY KEY ( id ), сделанные …

Из Кодекса :

Обратите внимание, что функция dbDelta довольно сложная. Например: […]

  • Вы не должны использовать какие-либо апострофы или обратные ссылки вокруг имен полей.
 $sql = "CREATE TABLE ".TEST_TABLE." ( id INT( 11 ) NOT NULL AUTO_INCREMENT, title VARCHAR( 100 ) NOT NULL, description TEXT DEFAULT NULL, location_id INT( 11 ) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (location_id) REFERENCES ".TEST2_TABLE." (id) );";