sql >> Databáze >  >> RDS >> Mysql

Mysql:PŘEJMENUJTE TABULKU, POKUD EXISTUJE

Podařilo se mi spustit kód, který vždy funguje a negeneruje žádné chyby, když tabulka neexistuje:

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;

Když nechcete nahradit [DATABASE NAME] ručně můžete použít následující proměnnou

SELECT DATABASE() INTO @db_name FROM DUAL;


  1. Optimalizuji můj výpis mysql! - RAND() PŘÍLIŠ POMALÉ

  2. Povolit databázovou poštu na serveru SQL Server (T-SQL)

  3. Rozbalovací nabídka – PHP Ajax MySQL

  4. SQL aktualizace polí jedné tabulky z polí jiné tabulky