Mysql
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Може ли външният ключ да действа като първичен ключ?

  2. Има ли някаква печалба в производителността при индексирането на булеви полета?

  3. Изберете най-често срещаната стойност от поле в MySQL

  4. Неправилна стойност на цяло число:'' за колона 'id' на ред 1

  5. Скрити характеристики на MySQL