Mailinglisten-Archive |
> > On Behalf Of Thomas Goik - auxion.de > > > > > > > schon mal mit UNIQUE KEY Probiert? > > > INSERT ... ON DUPLICATE KEY UPDATE > > > http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html > > > > table records > > id domain_id name type content ttl prio change_date > > id unique > name index > name, type index > domain_id index > > problem für jede Domain existiert > > 1 A Record > 1 SOA Record > 2 NS Record > 1 bis X MX Record > > Dazu kommen noch Subdomains usw. alle über domain_id in table Domains referiert. > > Ich kann keinen uniq über domain_id, name, type legen, > Content ändert sich zumindest bei den SOA records auch beim Update Ich spreche mal ein bisschen mit mir selber manchmal hilft es wenn anderen erklärt was man möchte *g (nein ich höre noch keine Stimmen *gg) SELECT IF( ( SELECT t2.id FROM pdns.records t2 WHERE t2.name = 'abi-1993.net' AND TYPE = 'SOA' ) >0, ( SELECT t2.id FROM pdns.records t2 WHERE t2.name = 'abi-1993.net' AND TYPE = 'SOA' ), ( SELECT max( t3.id ) +1 FROM pdns.records t3 ) ); Bringt mir sauber die werte bei bestehenden Datensätzen und auch die nächste ID Eingebaut in INSERT INTO pdns.records( id, domain_id, name, TYPE , content, ttl, prio, change_date ) SELECT ( SELECT IF( ( SELECT t2.id FROM pdns.records t2 WHERE t2.name = 'abi-1993.net' AND TYPE = 'SOA' ) >0, ( SELECT t2.id FROM pdns.records t2 WHERE t2.name = 'abi-1993.net' AND TYPE = 'SOA' ), ( SELECT max( t3.id ) +1 FROM pdns.records t3 ) ) ), t1.id, 'abi-1993.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-1993.net' ON DUPLICATE KEY UPDATE name = 'abi-1993.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( ); macht sogar sauber das Update bei einem bestehenden Datensatz aber fügt leider keinen Neuen Datensatz ein also zurück zu Replace > > 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