mysql / Tabelle auf Decimal ändern
Hank the knife
- datenbank
0 Vinzenz Mai0 Hank the knife0 Hank the knife2 Tom
Hi,
MODIFY WarenEK decimal(10,2) NULL DEFAULT NULL COMMENT ''
Gibts eine Query, mit der ich zuvor alle Daten in der Tabelle WarenEK, die z.b. im Format 10,50 oder 3,99 gespeichert sind, sichern kann?
Weil ein einfaches MODIFY dieser Spalte würde ja sicher dazu führen, dass die Werte hinter dem Komma abgeschnitten werden. Oder muß ich das über eine "Dienstsprache" bewekstelligen?
Grüße, Hank
Hallo,
Gibts eine Query, mit der ich zuvor alle Daten in der Tabelle WarenEK, die z.b. im Format 10,50 oder 3,99 gespeichert sind, sichern kann?
Erstelle ein Backup Deiner Tabelle.
Füge eine neue Spalte mit Deinem gewünschten Datentyp ein.
Solange die Daten in der neuen Spalte nicht wunschgemäß aussehen
Fülle die Spalte durch ein entsprechendes UPDATE-Statement, das die
Originaldaten über String- und CAST-Operationen umwandelt.
Ende Solange
Lösche die Originalspalte
Benenne die neue Spalte um (neuer Name gleich Name der Originalspalte)
Freundliche Grüße
Vinzenz
Freundliche Grüße
Vinzenz
Hi Vinzenz,
habs anders gelöst, aber danke dennoch :-)
Grüße, Hank
»» Freundliche Grüße
»»
»» Vinzenz
...andere Frage noch ab Dich.
du hast mir zuletzt schonmal sehr gut geholfen. Und ich hatte Dir das fertige Script hier mal ins Forum gepostet mit der Frage, ob Du da mal nen Blick drüber werfen kannst.
Hast Du vermutlich übersehen und ich wollt kein Doppelpost machen. Da es aber nun von Seite 1 verschwunden ist, frag ich hier nochmal nach:
Kannst Du mal schauen, ob das so funktioniert, wie gedacht und ich mir nicht versehentlich bei ungünstigen Bedingungen was kaputt mache?
function dir_rekursiv($verzeichnis)
{
$handle = opendir($verzeichnis);
while ($datei = readdir($handle))
{
if ($datei != "." && $datei != ".." && $datei != "backup")
{
if (is_dir($verzeichnis.$datei)) // Wenn Verzeichniseintrag ein Verzeichnis ist
{
// Erneuter Funktionsaufruf, um das aktuelle Verzeichnis auszulesen
dir_rekursiv($verzeichnis.$datei.'/');
}
else
{
$teile = explode(".", $datei);
$datei_ohne_endung=$teile[0];
$endung=$teile[1];
$laenge = strlen($datei_ohne_endung)-1; // string-laenge bestimmen, und
// 1 abziehen, weil bei 0 angefangen
// wird zu zaehlen..
if (($endung != "gif") && (is_numeric($datei_ohne_endung[$laenge])))
{
$datei_ohne_endung = preg_replace("/\d*$/", "", $datei_ohne_endung);
$backupliste = glob("./backup/$datei_ohne_endung*.$endung");
natsort ($backupliste);
$hoechste_dateinummer = array_pop($backupliste);
$teile_hoechste_dateinummer = explode(".", $hoechste_dateinummer);
$datei_ohne_endung_hoechste_dateinummer=$teile_hoechste_dateinummer[1];
preg_match("/\d*$/", $datei_ohne_endung_hoechste_dateinummer, $treffer);
//echo("$datei_ohne_endung_hoechste_dateinummer<br>");
//print_r($treffer);
$i=$treffer[0];
$neuer_index=$i+1;
$tofile="backup/$datei_ohne_endung$neuer_index".".$endung";
echo ("tf: $tofile<br>");
rename($verzeichnis.$datei, $tofile);
}
}
}
}
closedir($handle);
}
$verz="./";
if (!file_exists("$verz/backup"))
{
mkdir("$verz/backup");
}
dir_rekursiv($verz);
echo ("fertig");
Grüße, Hank (auch schonmal Karlo :-)
Hello,
Kannst Du mal schauen, ob das so funktioniert, wie gedacht und ich mir nicht versehentlich bei ungünstigen Bedingungen was kaputt mache?
Du hast aber scheinbar meine Ratschläge nur als Schläge empfunden, nicht als Rat?
Sonst hättest Du sie sicherlich berücksichtigt. :-)
function dir_rekursiv($verzeichnis)
{
$handle = opendir($verzeichnis);
# while ($datei = readdir($handle))
while (false!==($datei = readdir($handle)))
{
if ($datei != "." && $datei != ".." && $datei != "backup")
{
if (is_dir($verzeichnis.$datei)) // Wenn Verzeichniseintrag ein Verzeichnis ist
{
// Erneuter Funktionsaufruf, um das aktuelle Verzeichnis auszulesen
dir_rekursiv($verzeichnis.$datei.'/');
# hier hängt sich das Script auf in einer Endlosschliefe, wenn es sich
# bei dem Verzeichnis um einen Link auf ein Verzeichnis handelt, der auf
# eine höhere Ebene desselben Baumes verweist.
# Du musst entweder Links auf Verzeichnisse ausschließen von der Bearbeitung
# oder eine Liste der aufgelösten Pfade mitschreiben. Wenn dann ein Pfad
# (Realpath()) schon in der Liste enthalten ist, wird er nicht nochmal
abgearbeitet.
}
else
[...]
Den Rest habe ich mir nicht weiter angeschaut.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg

--
Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>
Grundlage für Zitat #1435.