Переименование таблицы - MySQL

Узнай цену своей работы

Формулировка задачи:

Добрый день! Не могу найти информацию как проигнорировать запрос переименования таблицы если таблицы нет в базе. Например команда RENAME TABLE name1 TO name2 выдает ошибку при повторном отправлении данных.Первый раз меняет имя,а при обновлении браузера данные POST отправляются заново и он уже не может найти таблицу name1.Как можно избежать ошибки.Спасибо!

Решение задачи: «Переименование таблицы»

textual
Листинг программы
$result = mysql_query("SELECT count(*) FROM information_schema.tables WHERE table_schema = 'DATABASE_NAME' AND table_name = 'name1'");
$table_exist = mysql_result($result, 0);
if ($table_exist){
    mysql_query("RENAME TABLE name1 TO name2");
}

Объяснение кода листинга программы

  1. $result = mysql_query(SELECT count(*) FROM information_schema.tables WHERE table_schema = 'DATABASE_NAME' AND table_name = 'name1'); Этот код выполняет запрос к базе данных, чтобы узнать, существует ли таблица с именем 'name1' в базе данных с именем 'DATABASE_NAME'. Результатом запроса является количество строк, соответствующих условию, то есть, есть ли хотя бы одна строка с такими параметрами.
  2. $table_exist = mysql_result($result, 0); Здесь мы получаем результат выполнения запроса и сохраняем его в переменную $table_exist. Поскольку мы ожидаем, что вернется только одна строка, мы берем первый результат (индекс 0).
  3. if ($table_exist){ Если переменная $table_exist не равна нулю (то есть, таблица существует), то выполняется следующий код.
  4. mysql_query(RENAME TABLE name1 TO name2); Этот код переименовывает таблицу 'name1' в 'name2'. Пояснение:
    • Переменная $result содержит результат выполнения SQL-запроса.
    • Переменная $table_exist содержит значение, указывающее, существует ли таблица.
    • Если таблица существует, она переименовывается с помощью функции mysql_query.
    • Новые имена таблицы и исходное имя таблицы сохраняются в переменных name2 и name1 соответственно.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5