Hej alla där ute!
Jag har en hel drös med databaser som har olika versioner. Dom innehåller mer eller mindre samma saker. Nu vill jag få dessa 'up to date' med ett script som jag skriver.
För att dom ska bli 'up to date' vill jag lägga till några kolumner i en del tabeller. Detta gör jag med ALTER TABLE table ADD ( ... ); Ja ni vet.
Nu är problemet det att vissa av mina databaser har redan dessa kolumner jag vill lägga till. När jag då kör mitt script avbryts det med ett error i stil med
ERROR 1060 at line xxx: Duplicate column name 'tabell'
Nu är frågan denna, finns det något sätt att ignorera dessa varningar och bara köra vidare som vanligt? Jag vill altså inte att scritet ska avslutas.
Tack på förhand / Jocke
LarsGMedlem sedan dec. 200012 464 inlägg Vilken databashanterare använder du?
Är det inte bättre att du sållar bort de tabeller som redan har kolumnen innan du försöker lägga till den?
missModesty skrev:
Är det inte bättre att du sållar bort de tabeller som redan har kolumnen innan du försöker lägga till den?
Det låter som en bra idé. Hur löser man det direkt med sql? Jag tänkte ju att man kunde få det per automatik, men tydligen inte. Så, ska man göra någon form av ifsats i så fall?
Det är för övrigt MySQL jag kör.
Edit: Här var vi snabba! Tackar för hjälpen ska se om det fungerar :)
Edit2: Det verkade tyvärr inte som om det fungerade mot MySQL. Följande fungerar inte allt för lyckat: select * from syscolumns. Testade det eftersom första frågan inte fungerade alls.
Nåväl, någon som vet? :q
LarsGMedlem sedan dec. 200012 464 inlägg Mysql har inte stöd för något dylikt direkt i SQL.
Bra tack då vet jag. Lite trist. Får försöka bygga in lite logik i bashscriptet då.