webForumDet fria alternativet

Ta bort alla tabeller som börjar med xxx

Databaser & SQL

2 svar · 390 visningar · startad av nitro2k01

Medlem sedan aug. 20039 340 inlägg
Frågan#1

Hur tar man bort alla ta tabeller i en databas som börjar med ett visst prefix? (MySQL 5)

Medlem sedan dec. 200012 464 inlägg
#2

En och en. Du kan skapa ett skript med

select concat('drop table ',table_name) 
   from information_schema.tables
  where table_name like 'prefix%'
Medlem sedan juli 2002630 inlägg
#3

http://dev.mysql.com/doc/refman/5.0/en/drop-table.html

Det verkar inte som man kan lägga på en where-sats. Förslag:
Hämta upp alla tabeller med t.ex. php och gör en loop där du raderar tabellerna en och en.

Spana in exemplen här
http://se.php.net/manual/en/function.mysql-list-tables.php

I whileloopen gör du en kontroll på tabellnamnet om det uppfyller "XXX"-prefixet och skapar en ny sql-fråga som raderar tabellen.

Har du php-stöd på en server som kan köra mot databasen kan jag göra skriptet åt dig.

259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)