Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql:ZMIEŃ NAZWĘ TABELI, JEŚLI ISTNIEJE

Udało mi się wykonać kod, który zawsze działa i nie generuje błędów, gdy tabela nie istnieje:

SELECT Count(*)
INTO @exists
FROM information_schema.tables 
WHERE table_schema = [DATABASE_NAME]
    AND table_type = 'BASE TABLE'
    AND table_name = 'video_top_day';

SET @query = If(@exists>0,
    'RENAME TABLE video_top_day TO video_top_day_for_delete',
    'SELECT \'nothing to rename\' status');

PREPARE stmt FROM @query;

EXECUTE stmt;

Kiedy nie chcesz zastępować [DATABASE NAME] ręcznie możesz użyć następującej zmiennej

SELECT DATABASE() INTO @db_name FROM DUAL;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nieprawidłowa wartość daty i godziny Numer błędu bazy danych:1292

  2. MySQL zlicza kolejne daty dla bieżącej passy

  3. Jak zainstalować MySQLdb (biblioteka dostępu do danych Pythona do MySQL) na Mac OS X?

  4. Wyjątek Java JDBC MySQL:operacja niedozwolona po zamknięciu zestawu wyników

  5. Kod błędu MySQL:1305. FUNKCJA JSON_EXTRACT nie istnieje w kliencie MySQL w wersji:5.5.52