Hallo Marc,
ich soll alle 3 Minuten
nutze den SQL-Server-Agent.
die letzten 5 Datensätze aus einer MS-SQL-Tabelle alle Datensätze auslesen
Was nun, die letzten fünf oder alle?
und 1:1 in eine MySQL-Tabelle schreiben. Bereits vorhandene Datensätze sollen ohne Fehlermeldung überschrieben werden.
Die Abfrage (ich hoffe, sie funktioniert) hab ich hinbekommen,
Nein, die funktioniert hinten und vorne nicht.
die Aktualisierung auch,
Du hast die Aktualisierung hinbekommen? Wie? Wo?
$query = "SELECT * FROM
tabelle
ORDER BYtabelle
.lfd\_nr
DESC LIMIT 0, 5 ";
MS SQL-Server leidet - wie ich - unter einer Backtick-Allergie und kennt bis einschließlich MS SQL-Server 2005 keine LIMIT-Klausel sondern TOP - siehe Handbuch. Das hier ist MySQL-Syntax, T-SQL wird Dir Fehlermeldungen um die Ohren schlagen. Maskierungszeichen in T-SQL, die hier sowieso völlig überflüssig sind, sind die eckigen Klammern.
SELECT * ist böse, hier sowieso. Gib die komplette Spaltenliste an. Du benötigst diese sowieso für das REPLACE-Statement, alternativ könntest Du auch INSERT ... ON DUPLICATE KEY UPDATE verwenden. Schließlich kann es erforderlich sein, die Datentypen geeignet zu konvertieren.
Nutze Prepared Statements mit der verbesserten MySQL-Erweiterung oder PDO.
Freundliche Grüße
Vinzenz