php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 28-07-2006, 19:46
akkie
 Newbie
Links : Onlinestatus : akkie ist offline
Registriert seit: Jan 2003
Beiträge: 34
akkie ist zur Zeit noch ein unbeschriebenes Blatt
Standard Lösche Zeile die nur NULL Werte enthält

Hi

Gibt es eine Abkürzung für diesen Query ohne in der WHERE - Klausel alle Spalten anzugeben.

Code:
DELETE FROM `table` WHERE col1=NULL AND coll2=NULL usw...
Mfg Akkie
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 28-07-2006, 19:50
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

afaik -> nein (scheinbar ist deine Struktur auch etwas kaputt, sowas habe ich noch nie gebraucht)
Mit Zitat antworten
  #3 (permalink)  
Alt 28-07-2006, 20:06
akkie
 Newbie
Links : Onlinestatus : akkie ist offline
Registriert seit: Jan 2003
Beiträge: 34
akkie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi

OK. Dachte ich mir schon. Aber manchmal wird man ja überrascht was doch noch alles geht.

Zu meiner Struktur:

Das ganze ist eine Warteschlange in die bei der Änderung eines Benutzer-Profils, die geänderten Daten geschrieben werden, die vom Kundensupport freigegeben werden müssen. Diese Felder können von jedem x beliebigen Typ sein. Deshalb ist die Warteschlange eine genaue Kopie des Benutzerprofils.

Wenn die Daten durch den Kundensupport bearbeitet und freigegeben werden wird in der Queue der freigegebene Wert auf NULL gesetzt. Den bearbeiteten Datensatz kann ich nach der Freigabe nicht einfach löschen weil wieder neue Daten hinzugekommen sein können. Deshalb muss ich Prüfen ob überall NULL Werte drin stehen.

Wenn du eine Idee hast wie ich das sonst lösen kann, immer her damit.

Mfg Akkie

Geändert von akkie (28-07-2006 um 20:08 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 28-07-2006, 20:56
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hm ... timestamp in der Zeile mitspeichern, bei der die Daten zuletzt geändert wurden. Bei der Anzeige in einem Hidden-Field den Timestamp mit ausgeben, wenn beim Bestätigen der Daten der timestamp noch gleich dem ist, der im Datensatz drin ist, kann der Datensatz gelöscht werden, ansonsten wurden die Daten noch ein weiteres Mal geändert (ggf. dann direkt wieder die Seite mit den geänderten Sachen anzeigen)
Mit Zitat antworten
  #5 (permalink)  
Alt 28-07-2006, 21:42
akkie
 Newbie
Links : Onlinestatus : akkie ist offline
Registriert seit: Jan 2003
Beiträge: 34
akkie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja ist eine gute Idee. Aber ich es lass es jetzt so.

Das was ich geschildert habe ist nur ein kleiner Auszug aus dem ganzen. Das sind noch ein paar mehr Tabellen involviert. Würde ich jetzt noch den Timestamp in die Queue - Tabellen einfügen müsste ich dann bei der Erstfreigabe die Querys voll auschreiben. Weil dann ein INSERT INTO SELECT * nicht mehr passen würde.

Ich habe die Querys schon geschrieben und von der Performance nimmt sich das auch nichts als wenn ich nur eine Bedingung in der Where-Klausel habe.

Trotzdem danke

Mfg Akkie
Mit Zitat antworten
  #6 (permalink)  
Alt 30-07-2006, 00:43
gleiwitz19
 Banned
Links : Onlinestatus : gleiwitz19 ist offline
Registriert seit: Jul 2006
Ort: Banned by wahsaga
Beiträge: 76
gleiwitz19 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe keine entsprechende Funktion gefunden. Man kann natürlich ein SHOW COLUMNS machen und dann die query generieren. Ich würde evtl. ein LEAST(col1, col2,...) machen, in der Hoffnung, wenn irgendein Argument NULL ist, liefert die Funktion NULL zurück. Das müsste man überprüfen. Gemäss A.5.3. Problems with NULL Values müsste es gehen.

Aus Kap A.5.3: An expression that contains NULL always produces a NULL value unless otherwise indicated in the documentation for the operators and functions involved in the expression. All columns in the following example return NULL:

mysql> SELECT NULL, 1+NULL, CONCAT('Invisible',NULL);



Dann ist es ein Fehler, =NULL zu testen. Es muss IS NULL heissen. (auch Kap A.5.3, und Kap. 3.3.4.6. Working with NULL Values)

Ich merke, du hast eine AND Bedingung: Es gibt eine Funktion ISNULL(col), welche NULL in 1 verwandelt. Das kann man addieren.

Geändert von gleiwitz19 (30-07-2006 um 00:46 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

21.10.2020 Berni | Kategorie: PHP/ Anzeigenmarkt
Sendeplan Script inkl. Wunsch- und Grußbox + Kick-System + Bewerbungssystem

Das professionelle Sendeplan PHP Script inkl. Wunsch- und Grußbox + Kick-System für dein Webradio. Der übersichtliche Sendeplan bietet deinen Moderatoren und Zuhörern die perfekte Übersicht der aktuellen Shows! Du kannst nicht nur Sendungen eintragen, s

20.10.2020 drcomputer | Kategorie: PHP/ Web Radio
Newsmanager 2

Der Newsmanager 2 ist sehr Vielfältig und kann News schreiben, Newsletter versenden und RSS Feeds in einem erzeugen.

20.10.2020 Stephan_1972 | Kategorie: PHP/ News
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:13 Uhr.