sql >> データベース >  >> RDS >> Mysql

Mysql:存在する場合はテーブルの名前を変更

    テーブルが存在しない場合でも常に機能し、エラーを生成しないコードを実行することができました:

    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;
    

    [DATABASE NAME]を置き換えたくない場合 手動で次の変数を使用できます

    SELECT DATABASE() INTO @db_name FROM DUAL;
    


    1. 単一のJDBCステートメントオブジェクトを使用して複数のクエリを実行する

    2. Lion(Mac OS 10.7)でPostgreSQLサーバーがシャットダウンしない

    3. T-SQLで同等の分割関数?

    4. SQLServerで日付を比較する方法