sql >> Databasteknik >  >> RDS >> Mysql

Mysql:BYT DAMN TABELL OM FINNS

Jag har lyckats köra en kod som alltid fungerar och som inte genererar några fel när tabellen inte finns:

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;

När du inte vill ersätta [DATABASE NAME] manuellt kan du använda följande variabel

SELECT DATABASE() INTO @db_name FROM DUAL;


  1. Oracle-aggregat för att sammanfoga strängar med kommatecken och för att skriva anpassade aggregat

  2. Ett frågesportobjekt per sida (php/mysql frågesportprogram)

  3. Mysql:resultat från de senaste sju dagarna

  4. Postgres JSON-datatyp Rails-fråga