Frage

Ich arbeite an einem VCL-Projekt.Ich bevölkere a TUniQuery mit einem Insert das verwendet a sub select.Wenn ich mir die MySQL-Protokolldatei ansehe, kann ich sehen, dass der Befehl die Datenbank erreicht.Es werden keine Fehler oder Ausnahmen gemeldet und alles scheint ordnungsgemäß zu funktionieren.Wenn ich jedoch die Datenbank abfrage, sind die Daten nicht vorhanden.Wenn ich den Befehl aus der Protokolldatei kopiere und einfüge und ihn in dbForge ausführe, wird der Befehl ordnungsgemäß ausgeführt und die Tabelle gefüllt.Unten ist der Code ohne die angegebenen Felder:

UniQuery->Close();
UniQuery->SQL->Clear();
UniQuery->SQL->Add("INSERT INTO tmplegacypricingdistinct (...) ");
UniQuery->SQL->Add("SELECT DISTINCT ... FROM tmplegacypricing");
UniQuery->Execute();

Ich habe vor, die verwendeten Tabellen in temporäre Tabellen umzuwandeln, derzeit handelt es sich jedoch um echte Tabellen.

Einige Gedanken, die ich hatte, waren, dass es an der Verbindung liegen könnte, aber da sie in der MySQL-Protokolldatei protokolliert wird, sehe ich das nicht als Problem.Ich habe eine Lösung, die darin besteht, die Informationen herunterzuziehen und dann jeweils einen Datensatz einzufügen, aber ich würde es hassen, die Daten über die Leitung zu ziehen und muss das tun.Gedanken oder Ideen dazu, was ich tun kann, damit alles auf der Serverseite funktioniert, oder was mein Problem mit dem oben genannten Ansatz sein könnte?

War es hilfreich?

Lösung

Stellen Sie sicher, dass Sie keine haben TEMPORARY Tabellen und REAL Tabellen mit demselben Namen.Mit MySQL können Sie das tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top