phpbar.de logo

Mailinglisten-Archive

Löschen/Ändern in Abhängigkeit von anderen Tabelleneinträge unter MySQL 3.23.49

Löschen/Ändern in Abhängigkeit von anderen Tabelleneinträge unter MySQL 3.23.49

Sebastian Mendel lists at sebastianmendel.de
Don Jul 8 08:50:37 CEST 2004


henry bayer schrieb:

> hallo,
> 
> 
>>Fehler
>>SQL-Befehl :
>>DELETE cs_articles. * FROM cs_articles LEFT OUTER JOIN 
>>cs_article_categories ON cs_articles.object_id = 
>>cs_article_categories.article_id WHERE 
>>cs_articles.imported = 'yes' AND 
>>cs_article_categories.article_id IS NULL
> 
> willst du eine tabelle löschen, weil das versuchst du da,

versucht er nicht, er löscht nur Zeilen aus der Tabelle


> was logischerweise
> nicht gehen kann und zu recht bemängelt wird, denn dann müsstest du DROP
> TABLE cs_articles ... nehmen.

wie gesagt er will die Tabelle ja nicht löschen, und das geht auch aus 
dem Syntax nicht hervor


> normaler DELETE syntax ist: DELETE FROM cs_articles ... WHERE ...

sein DELETE Syntax ist vollkommen richtig, allerdings erst ab MySQL 4.0, 
abgesehen von dem '. *', erstens weil das Leerzeichen falsch ist und 
zweitens weil selbst ein richtiges '.*' kein Zweck erfüllen würde an 
dieser Stelle und überflüssig ist, aber von MySQL akzeptiert wird weil:

"The syntax allows .* after the table names for compatibility with Access."


> denn du willst ja logische datensätze löschen, somit wird nach dem Befehl
> DELETE keine tabelle oder spalte angegeben. Kleiner aber feiner Unterschied
> zum SELECT syntax ... ;-)

jaja ... MySQL hat sich schon etwas weiter entwickelt seit dem du 
anscheinend das letzte mal ins Handbuch geschaut hast ... ;-)

für dich ein kleiner Auszug:

Single-table syntax:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
        [WHERE where_definition]
        [ORDER BY ...]
        [LIMIT row_count]

Multiple-table syntax:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
        tbl_name[.*] [, tbl_name[.*] ...]
        FROM table_references
        [WHERE where_definition]

Or:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
        FROM tbl_name[.*] [, tbl_name[.*] ...]
        USING table_references
        [WHERE where_definition]



-- 
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime        www.sf.net/projects/phptimesheet

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive