Mailinglisten-Archive |
On Behalf Of Hannes Streicher > am Samstag, 28. März 2009 um 23:33 schrieben Sie: > > > > Beide Varianten funktionieren leider nur wenn alle Felder eindeutig sind > > dann wuesste ich nur eine loesung mit 2 statements > Zu der Erkenntnis komme ich auch langsam. Wäre schön gewesen wenn ich das hätte mit einem Statement machen können. Ich versuche es nun wie folgt zu lösen SELECT @tempid := IF( (SELECT t2.id FROM pdns.records t2 WHERE t2.name = 'abi-1992.net' AND TYPE = 'SOA')>0, (SELECT t2.id FROM pdns.records t2 WHERE t2.name = 'abi-1992.net' AND TYPE = 'SOA'), 'NULL'); REPLACE INTO pdns.records(id, domain_id, name, type, content, ttl, prio, change_date) SELECT @tempid, t1.id, 'abi-1992.net', 'SOA', concat( 'ns1.deltaweb.de. hostmaster.deltaweb.de.', CURDATE( ) +0, '00 86400 7200 604800 1800' ) , 21600, 0, Unix_timestamp( ) FROM pdns.domains t1 where t1.name ='abi-1992.net' ; Wobei hier auch ein insert... update on duplicate key gehen müsste das würde die ID's nicht erhöhen Also SELECT @tempid := IF( (SELECT t2.id FROM pdns.records t2 WHERE t2.name = 'abi-1992.net' AND TYPE = 'SOA')>0, (SELECT t2.id FROM pdns.records t2 WHERE t2.name = 'abi-1992.net' AND TYPE = 'SOA'), 'NULL'); INSERT INTO pdns.records(id, domain_id, name, type, content, ttl, prio, change_date) SELECT @tempid, t1.id, 'abi-1992.net', 'SOA', concat( 'ns1.deltaweb.de. hostmaster.deltaweb.de.', CURDATE( ) +0, '00 86400 7200 604800 1800' ) , 21600, 0, Unix_timestamp( ) FROM pdns.domains t1 where t1.name ='abi-1992.net' ON DUPLICATE KEY UPDATE name = 'abi-1992.net', domain_id = t1.id, type = 'SOA', change_date = concat('ns1.deltaweb.de. hostmaster.deltaweb.de.',CURDATE() + 0,'00 86400 7200 604800 1800'), ttl= 21600, prio=0, change_date = Unix_timestamp() ; evtl. hat ja noch jemand eine Idee wie das mit einem Statement oder kürzer geht. Mit freundlichen Grüßen Drießen -- Software & Computer Uwe Drießen Lembergstraße 33 67824 Feilbingert Tel.: +49 06708 / 660045 Fax: +49 06708 / 661397 _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de
php::bar PHP Wiki - Listenarchive