sql >> Databasteknik >  >> RDS >> Mysql

MySql - Skapa tabell om det inte finns Else Trunkate?

shmuel613, det skulle vara bättre att uppdatera din ursprungliga fråga istället för att svara. Det är bäst om det finns en enda plats som innehåller hela frågan snarare än att den sprids ut i en diskussion.

Bens svar är rimligt, förutom att han verkar ha ett "inte" där han inte vill ha ett. Ta bort tabellen bara om den inte gör det existerar är inte riktigt rätt.

Du kommer verkligen att behöva flera uttalanden. Skapa antingen villkorligt och fyll sedan i:

  1. SKAPA TILLÄMPLIG TABELL OM INTE FINNS fubar ( id int, namn varchar(80) )
  2. TRUNCATE TABLE fubar
  3. INSERT INTO fubar SELECT * FROM barfu

eller bara släpp och återskapa

  1. SLAPP TABELL OM FINNS fubar
  2. SKAPA TILLÄMPLIG TABELL fubar SELECT id, namn FRÅN barfu

Med ren SQL är det dina två riktiga klasser av lösningar. Jag gillar den andra bättre.

(Med en lagrad procedur kan du reducera den till en enda sats. Något som:TruncateAndPopulate(fubar) Men när du skriver koden för TruncateAndPopulate() kommer du att spendera mer tid än att bara använda SQL-koden ovan.)



  1. Hur man kontrollerar en databas kompatibilitetsnivå i SQL Server med T-SQL

  2. Geografisk närhetssökning

  3. Tabellnamn som parameter med PDO/MySQL-förberedd sats

  4. SQL Server Error 111:"...måste vara den första satsen i en frågebatch"