ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
646
646
EMPFEHLEN
-
Hallo.
Ich möchte alle Datensätze einer Tabelle durch einen SQL Befehl danach abfragen ob ein bestimmtes Feld dieses Datensatzes leer ist. Falls es leer ist soll ein "-" reingeschrieben werden. Wenn etwas drin steht soll nix passieren. Das ganze braucht kein php skript oder so sein. Ein einfacher SQL Befehl den ich in phpMyAdmin eintragen kann würde mir schon helfen.
Danke
-
07.06.04 12:49 #2
Hallo Nappi,
Wenn ein Feld leer ist, hat es den Wert NULL. Diesen kann man als Bedingung für eine UPDATE Anweisung verwenden:
Code :1
UPDATE tabelle SET feld="-" WHERE feld=NULL
Grüße Thomas
-
07.06.04 12:52 #3
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo!
"= null" bringt nichts...
http://www.rent-a-database.de/mysql/mysql-167.html
du musst " is null" Verwenden...
Gruß Tom
-
Danke für die rasche hilfe
Nappi
-
wenn ich diese Zeile eingebe
Code :1
UPDATE tabelle SET feld="-" WHERE feld=IS NULL
kommt leider das dabei raus:
You have an error in your SQL syntax near 'IS NULL' at line 1
Man sollte meinen ich hätte die richtigen Stellen geändert
Was hab ich falsch gemacht?
Nappi
-
Also kucke mal in der (my)Sql Dokumentation dann findest du folgenden LInk:
http://dev.mysql.com/doc/mysql/de/Co...s.html#IDX1094
So wie es aussieht musst du es so gestalten:
Achja laut Dokumentation ist NULL = IS NULL ...Code :1 2
WHERE feld IS NULL
Und für die die das Linkklicken zu anstrengend ist , steht das in der Dokumentation:
IS NULL
IS NOT NULL
Testet, ob eine Wert NULL ist oder nicht:
mysql> select 1 IS NULL, 0 IS NULL, NULL IS NULL;
-> 0 0 1
mysql> select 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;
-> 1 1 0Geändert von KristophS (07.06.04 um 19:13 Uhr)
-
Also jetzt macht er es ohne fehler Meldung aber es ändert sich nichts!
Selbst wenn in einem Feld nichts ist macht er keinen Eintrag.
Eigendlich sollte doch ein " - " eingetragen werden aber ich bekomme nur die meldung das 0 Datensätze betroffen sind
das ist zB derCode :1
UPDATE users SET nick="-" WHERE nick IS NULL;
und das kommt dabei rausWorin liegt mein Fehler?Betroffene Datensätze: 0 (die Abfrage dauerte 0.0005 sek)
Nappi
-
08.06.04 12:53 #8
Hallo Nappi,
Steht in dem Feld vielleicht eine leere Zeichenkette drin? Normalerweise unterscheiden Datenbanken zwischen keinen Daten (NULL) und einer leeren Zeichenkette.
Probier mal:
Code :1
UPDATE users SET nick="-" WHERE nick = "";
Grüße Thomas
-
Das habe ich auch schon versucht hier das Ergebnis:
oder:UPDATE users SET nick = "-" WHERE nick = "";# MySQL lieferte ein leeres Resultat zurück (d.h. null Zeilen).
NappiUPDATE users SET nick = "-" WHERE nick IS NULL ;# MySQL lieferte ein leeres Resultat zurück (d.h. null Zeilen).
-
08.06.04 22:27 #10
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo Schau dir diese Befehlsabfolgen mal an:
E:\mysql-4.1.1a-alpha\bin>mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.1a-alpha-nt
mysql> use test;
Database changed
mysql> create table tblTest(id int, text varchar(30));
Query OK, 0 rows affected (0.21 sec)
Code :1 2 3 4 5 6 7 8 9 10 11
insert into tblTest values (1,'Test1'); insert into tblTest values (2,'Test2'); insert into tblTest values (3,'Test3'); insert into tblTest values (4,'Test4'); insert into tblTest values (5,'Test5'); insert into tblTest (id) values (6); insert into tblTest (id) values (7); insert into tblTest (id) values (8); insert into tblTest (id) values (9); insert into tblTest (id) values (10); insert into tblTest (id,text) values (11,'');
mysql> select * from tblTest;
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+------+-------+ | id | text | +------+-------+ | 1 | Test1 | | 2 | Test2 | | 3 | Test3 | | 4 | Test4 | | 5 | Test5 | | 6 | NULL | | 7 | NULL | | 8 | NULL | | 9 | NULL | | 10 | NULL | | 11 | | | 12 | | +------+-------+ 12 rows in set (0.01 sec)
mysql> select * from tblTest where text is null;
5 rows in set (0.03 sec)Code :1 2 3 4 5 6 7 8 9
+------+------+ | id | text | +------+------+ | 6 | NULL | | 7 | NULL | | 8 | NULL | | 9 | NULL | | 10 | NULL | +------+------+
insert into tblTest (id,text) values (12,' ');
mysql> select * from tblTest where text="";
2 rows in set (0.00 sec)Code :1 2 3 4 5 6
+------+------+ | id | text | +------+------+ | 11 | | | 12 | | +------+------+
mysql> select * from tblTest where text is null || text = "";
7 rows in set (0.08 sec)Code :1 2 3 4 5 6 7 8 9 10 11
+------+------+ | id | text | +------+------+ | 6 | NULL | | 7 | NULL | | 8 | NULL | | 9 | NULL | | 10 | NULL | | 11 | | | 12 | | +------+------+
Gruß Tom
Ähnliche Themen
-
Wie kann man sowas realisieren ?
Von Soapp im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 30.10.06, 23:10 -
Kann man so etwas realisieren?
Von chilimaus im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 21.02.06, 14:39 -
Wie kann man dies Realisieren?
Von Midgardschlange im Forum PhotoshopAntworten: 6Letzter Beitrag: 24.02.05, 20:54 -
wie kann ich es realisieren?
Von dmaye im Forum PhotoshopAntworten: 17Letzter Beitrag: 09.05.04, 21:28 -
Kann man das mit Templates realisieren?
Von Alex2xm im Forum PHPAntworten: 3Letzter Beitrag: 16.10.03, 01:30





Zitieren

Login





