leere Zeile einer Tabelle automatisch löschen

Erks

Erfahrenes Mitglied
Sagen wir mal, dass ich jetzt innerhalb einer Datenbank eine Tabelle mit 2 Spalten habe.

Wenn jetzt das INSERT INTO aus Versehen aktiviert wird, trägt er eine leere Zeile in die Tabelle ein. Kann man die leere Zeile verhindern, indem man die eigenschaft "not null" aktiviert oder muss man da was anderes machen, sodass die leeren Zeilen automatisch von der MySQL gelöscht werden? :confused:
 
Du trägst ja ein und du gibst aus.

Du lässt einen festen Wert (10 Zeilen + 1 Reservezeile) ausgeben (Befehl?). Diese Zeilen, bzw. Das was drinsteht wird dann verändert sofern das nötig ist und via Update...SET wieder in die eigentliche MySQL Tabelle reingebracht. Und da sind die leeren Zeilen. Sagen wir Du hast nur einen Eintrag (eine Zeile ist voll), dann bleiben ja noch 9 übrig. Wenn man dann n Update von allen Zeilen macht, dann werden ja auch leere Zeilen in die Datenbank gebracht (bei einer editierbaren Tabelle in HTML). Wie kann man es verhindern, dass wenn diese Tabelle in einer normalen HTML als z.B. nicht editierbare Tabelle wieder ausgegeben wird, zwar ausgegeben wird, aber die leeren Felder nicht ausgegeben werden, sondern nur die, wo was drinsteht? :confused:

(Bitte mit Script wenn eine Lösung da ist)

Danke für Antworten:)
 
Zuletzt bearbeitet:
Nehmen wir mal an, die Datensätze (ID, Wert) sollen wie folgt aktualisiert werden:
PHP:
$update = array(
	array(0, 'foo'),
	array(1, 'bar'),
	array(2, ''),
	array(3, ''),
	array(4, 'foobar'),
	// …
);
Was spricht dagegen, vor dem Aktualisieren zu prüfen, ob überhaupt brauchbare Werte eingetragen werden, um die betreffenden Datensätze gleich ganz zu löschen?
PHP:
$delete = array();
foreach( $update as $val ) {
	if( $val[1] == '' ) {
		$delete[] = $val[0];
		continue;
	}
	$query = 'UPDATE … WHERE `id` = '.$val[0];
	// …
}
if( !empty($delete) ) {
	$query = 'DELETE … WHERE `id` IN (' . implode(',', $delete) . ')';
	// …
}
 
Ok...danke für die Hilfe hab es jetzt mit ner schnelleren Lösung geschafft....ich sag nur "!"...trotzdem danke
 
Zurück