Intereting Posts
site_url и $ current_user, производящие нежелательные результаты Как сохранить изменения в функции functions.php темы в разных обновлениях? Несколько wp_localize_script Применение фильтра $ posts_clauses только к конкретным запросам как изменить постоянные ссылки с id на имя определенного местоположения Сортируемые столбцы администратора на 0.00 номер Добавление кнопки пользовательского поиска в меню Поиск нескольких настраиваемых полей с помощью meta_query Неверный URL-адрес для изображений при использовании той же базы данных для двух установок WordPress Получение ошибки в sql-запросе WC отправляет неправильную стоимость Добавление настраиваемого поля или метабокса в виджет после миниатюр? Как добавить поддержку описания подменю в wordpress? Удалить сообщения WordPress из списка адресов sql-запроса Добавить сообщение мета-ключ и значение, только если оно не существует в сообщении

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 ), сделанные …

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

Из Кодекса :

Обратите внимание, что функция 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) );";