Man šeit doma panesās a kapēc nē ja nu var šādi kaut ko ar php kopā:
Lai nav jāraksta lielais penteris pēc augšējā parauga, kas pie lielākām DB varētu būt smagnējs process...
bet gan ar šāda veidojuma palīdzību paveikto to visu automātiski:
<?php
// Piesledzos
mysql_connect("localhost","lietotajs","parole");
mysql_select_db("datubazes_nosaukums");
// Nu tad aiziet
$res = mysql_query("SHOW TABLES");
while ($row = mysql_fetch_array($res)
while ($col = mysql_fetch_array($res)
)
{
foreach ($row as $key => $table)
foreach ($col as $key => $column)
{
mysql_query("ALTER TABLE " . $table . " MODIFY " . $column . " BINARY('255');");
echo $key . " => " . $table . " un " . $column . " <b>IZDEVAS</b> parveidot<br />";
mysql_query("ALTER TABLE " . $table . " MODIFY " . $column . " VARCHAR('255') CHARACTER SET utf8 COLLATE utf8_bin;");
echo $key . " => " . $table . " un " . $column . " <b>IZDEVAS</b> parveidot<br />";
mysql_query("UPDATE " . $table . " SET " . $column . " = REPLACE(" . $column . ", x'00', '');");
echo $key . " => " . $table . " un " . $column . " <b>IZDEVAS</b> parveidot<br /> <br />";
}
}
?>
Tikai problēma, kā lai pasaka php ka viņam jāčēko sākumā TABULA kurās ir tikai "VARCHAR('???')" kur ??? vietā var būt dažādi skaitļi piem.: 1, 32, 255 utt. un veic darbibu:
mysql_query("ALTER TABLE " . $table . " MODIFY " . $column . " BINARY('???');");
echo $key . " => " . $table . " un " . $column . " <b>IZDEVAS</b> parveidot<br />";
Tad kad tas ir pārveidots, lai sāk čēkot tās TABULAS kurās ir tikai "BINARY('???')", kur ??? vitā var būt dažādi skaitļi piem.: 1, 32, 255 utt. un veic darbību:
mysql_query("ALTER TABLE " . $table . " MODIFY " . $column . " VARCHAR('255') CHARACTER SET utf8 COLLATE utf8_bin;");
echo $key . " => " . $table . " un " . $column . " <b>IZDEVAS</b> parveidot<br />";
nu un trešā darbība ir easy,
bet jautājums vai tas ir iespējams izvilkt no DB to ko es vēlos un veikt konkrētās darbības, ja ir tad varbūt varat palīdzēt?