Mailinglisten-Archive |
Hallo Liste Sicher ein einfaches Problem aber ich komme zu dieser Stunde nicht mehr drauf. Nachdem ich unsere Radiusdatenbank nun soweit berichtigt habe das sinnvolle Werte drin stehen mußte ich feststellen das aus welchem Grund auch immer doppelt accounting Datensätze darin enthalten sind. Diese habe ich wie folgt selectiert und jeweils eine Datensatz mit einer eindeutigen AcctUniqueId in eine 2 Datenbank gesichert. INSERT INTO radacct2(`AcctSessionId`,`AcctUniqueId`,`UserName`,`Realm`,`NASIPAddress`,`N ASPortId`, `NASPortType`,`AcctStartTime`,`AcctStopTime`,`AcctSessionTime`,`AcctAuthenti c`, `ConnectInfo_start`,`ConnectInfo_stop`,`AcctInputOctets`,`AcctOutputOctets`, `CalledStationId`,`CallingStationId`,`AcctTerminateCause`,`ServiceType`, `FramedProtocol`,`FramedIPAddress`,`AcctStartDelay`,`AcctStopDelay`,`zähler` ) SELECT `AcctSessionId`,`AcctUniqueId`,`UserName`,`Realm`,`NASIPAddress`,`NASPortId` ,`NASPortType`, `AcctStartTime`,`AcctStopTime`,`AcctSessionTime`,`AcctAuthentic`,`ConnectInf o_start`, `ConnectInfo_stop`,`AcctInputOctets`,`AcctOutputOctets`,`CalledStationId`,`C allingStationId`, `AcctTerminateCause`,`ServiceType`,`FramedProtocol`,`FramedIPAddress`,`AcctS tartDelay`, `AcctStopDelay`,count(*) FROM radacct GROUP BY `AcctUniqueId`,`UserName` HAVING Count(*)>1; Das ging ja auch noch alles jetzt möchte ich aber, damit jederzeit nachvollzogen werden kann was gemacht wurde, alle Datensätze der radacct, welche mit dem AcctUniqueId der Radacct2 übereinstimmen, in eine dritte Datenbank sichern um dann entscheiden zu können welche Datensätze überhaupt einen sinnvollen Inhalt haben. Dann sollen alle Dubletten der radacct gelöscht werden, das AcctUniqueId auf Unique gesetzt werden und die sinnvollen Datensätze wieder zurück in die radacct.(diese hat zur Zeit 180000 Datensätze und die wollte ich nicht grade zu Fuß durch gehen) Problem : INSERT INTO radacct3( `AcctSessionId` , `AcctUniqueId` , `UserName` , `Realm` , `NASIPAddress` , `NASPortId` , `NASPortType` , `AcctStartTime` , `AcctStopTime` , `AcctSessionTime` , `AcctAuthentic` , `ConnectInfo_start` , `ConnectInfo_stop` , `AcctInputOctets` , `AcctOutputOctets` , `CalledStationId` , `CallingStationId` , `AcctTerminateCause` , `ServiceType` , `FramedProtocol` , `FramedIPAddress` , `AcctStartDelay` , `AcctStopDelay` ) SELECT `AcctSessionId` , `AcctUniqueId` , `UserName` , `Realm` , `NASIPAddress` , `NASPortId` , `NASPortType` , `AcctStartTime` , `AcctStopTime` , `AcctSessionTime` , `AcctAuthentic` , `ConnectInfo_start` , `ConnectInfo_stop` , `AcctInputOctets` , `AcctOutputOctets` , `CalledStationId` , `CallingStationId` , `AcctTerminateCause` , `ServiceType` , `FramedProtocol` , `FramedIPAddress` , `AcctStartDelay` , `AcctStopDelay` FROM radacct, radacct2 WHERE ( radacct2.AcctUniqueID = radacct.AcctUniqueID) GROUP BY `AcctUniqueId` ; Bringt #1052 - Column: 'AcctSessionId' in field list is ambiguous Außer der Fehlermeldung komme ich nicht dahinter wo der Fehler liegt. Und das Onlinehandbuch sagt auch nicht grade viel dazu aus. Da es aber eine ziemliche Datenmanipulations ist möchte ich halt auf nummer sicher gehen und die Datensätze es müßten so um die 4000 sein erstmal von Hand kontrolieren Besten Dank im voraus vielleicht ist ja noch jemand wach und hat langeweile Mit freundlichen Grüßen Drießen Neuling mit SQL Es liegt was in der Luft www.feilbingert.net Uwe Drießen Software & Computer Lembergstraße 33 67824 Feilbingert Tel.: 06708 660045 Fax 06708 661397 www.edv-driessen.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive