Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySql - Criar tabela se não existir mais truncar?


shmuel613, seria melhor atualizar sua pergunta original em vez de responder. É melhor se houver um único lugar contendo a pergunta completa em vez de tê-la espalhada em uma discussão.

A resposta de Ben é razoável, exceto que ele parece ter um 'não' onde ele não quer um. Soltar a tabela somente se não existir não está certo.

Você realmente precisará de várias declarações. Ou crie condicionalmente e depois preencha:
  1. CREATE TEMPORARY TABLE IF NOT EXISTS fubar ( id int, name varchar(80) )
  2. TRUNCATE TABLE fubar
  3. INSERIR NO fubar SELECT * FROM barfu

ou simplesmente solte e recrie
  1. SOLTAR TABELA SE EXISTE fubar
  2. CREATE TEMPORARY TABLE fubar SELECT id, name FROM barfu

Com SQL puro, essas são suas duas classes reais de soluções. Gosto mais do segundo.

(Com um procedimento armazenado, você pode reduzi-lo a uma única instrução. Algo como:TruncateAndPopulate(fubar) Mas quando você escrever o código para TruncateAndPopulate(), você gastará mais tempo do que apenas usando o SQL acima.)