Autor | Zpráva | ||
---|---|---|---|
dark Profil * |
#1 · Zasláno: 15. 9. 2009, 15:47:28
Zdravím. Chtěl bych se zeptat, jestli existuje nějaký script, co smaže všechny tabulky v MySQL, ktere mají určitý prefix. Děkuji za odpověď
|
||
Nox Profil |
#2 · Zasláno: 15. 9. 2009, 16:01:29
tabulky zjistíš pomocí
show tables in $database like '$prefix%' kde $ jsou proměnný a odstranění asi víš drop table $table1, $table2... nevím jestli by šlo seznam tabulek prostě nahradit (show tables in $database like '$prefix%') jako podvýraz, přinejhorším napíšeš 2 query a doplníš to přes PHP (pomůže funkce implode) |
||
Joker Profil |
#3 · Zasláno: 15. 9. 2009, 16:02:12 · Upravil/a: Joker
Šlo by vybrat si ze systémového katalogu tabulky začínající tím textem, něco jako:
SHOW TABLES FROM `databáze` LIKE 'prefix%' ...a ty nalezené pak dropnout. edit: pooozděeee |
||
dark Profil * |
#4 · Zasláno: 15. 9. 2009, 16:08:27
Děkuji :)
|
||
dark Profil * |
#5 · Zasláno: 15. 9. 2009, 16:55:52
muzu jeste otazecku?
$showtablequery = "SHOW TABLES FROM $db_name LIKE '$db_prefix%'"; $showtablequery_result = mysql_query($showtablequery); while($showtablerow = mysql_fetch_array($showtablequery_result)) { $tables = "'".$showtablerow[0]."', "; } udelal jsem si toto. Pro vypsani vsech tabulek to funguje nadherne, ale nevim, jak tam zapasovat i to drop... Jde to vubec takto? |
||
Nox Profil |
#6 · Zasláno: 15. 9. 2009, 18:46:15
$showtablequery = "SHOW TABLES FROM $db_name LIKE '$db_prefix%'"; $showtablequery_result = mysql_query($showtablequery); while($tables[] = mysql_fetch_array($showtablequery_result)){} array_pop($tables); mysql_query("drop tables `".implode("`,`", $tables)."`"); |
||
dark Profil * |
#7 · Zasláno: 15. 9. 2009, 19:29:52
Děkuji mockrát!
|
||
dark Profil * |
#8 · Zasláno: 15. 9. 2009, 20:06:13
hmm...tak toto mi hlasi :
Notice: Array to string conversion in /home/hamanek/wowall/core/administration/uninstall.php on line 31 |
||
dark Profil * |
#9 · Zasláno: 16. 9. 2009, 16:55:04
nevite co s tim?
|
||
Kajman_ Profil * |
#10 · Zasláno: 16. 9. 2009, 17:13:45
třeba pomůže kombinace...
$tables=array(); while($showtablerow = mysql_fetch_array($showtablequery_result)) { $tables[]=$showtablerow[0]; } mysql_query("drop table `".implode("`,`", $tables)."`"); |
||
dark Profil * |
#11 · Zasláno: 16. 9. 2009, 18:03:01
dekuji. Funguje to
|
||
Časová prodleva: 15 let
|
0