Как я могу автоматизировать SQL-запрос через PHPMyadmin? - PullRequest
1 голос
/ 05 января 2012

Из-за глючного плагина wordpress, который я использую, мне пришлось вручную запускать следующий запрос много раз в течение одного дня:

update table_name set column_name="";

Он просто отбрасывает содержимое заданного имени столбца. Итак, как я могу заставить мой сервер делать это автоматически каждые 30 минут, например, через PHPMyadmin?

Я не PHP и не SQL SAVVY. Поэтому, пожалуйста, примите это во внимание :) Я на Hostmonster.com, и у них есть версия клиента MySQL: 5.1.60 и phpMyAdmin v. 3.4.9

Ответы [ 3 ]

1 голос
/ 05 января 2012

Если вы используете UNIX и вам нравится, вы можете добавить в свой crontab следующее:

30 * * * * "/<path_to_mysql>/mysql -u <username> -p<password> -e "update table set column=\"\""

Это будет каждые 30 минут делать то, что вам нужно.

Для Windows вы можете создатьпакетный файл, который делает то же самое и выполняет его, используя Windows Scheduler

1 голос
/ 05 января 2012

Несмотря на то, что каждые N минут требуется немного работы, довольно просто сделать это статистически для каждого N запросов Помещенный

<?php
define('MYPLUGIN_CLEANUP_PROBABILITY',5);

function myplugin_cleanup_db($postid) {
  global $wpdb;
  if (rand(0,99)<MYPLUGIN_CLEANUP_PROBABILITY))
    $wpdb->query('update table_name set column_name=""');
}

add_action('shutdown', 'myplugin_cleanup_db');
?>

в файл .php и поместите его в каталог плагинов после адаптации вероятности очистки. Затем активируйте этот плагин и начинайте.

1 голос
/ 05 января 2012

Насколько мне известно, PHPMyAdmin не может автоматизировать его напрямую.

У вас есть несколько вариантов:

  • Создать задание cron для запуска оператора SQL (слишком продвинутый?)
  • Используйте WP Cron , чтобы запланировать событие для запуска оператора SQL через WordPress. (возможно, проще)
  • Исправить плагин (мой голос, но может быть сложно)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...