XE6 TUniQuery Einfügen in mit SubSelect
-
21-12-2019 - |
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?
Lösung
Stellen Sie sicher, dass Sie keine haben TEMPORARY
Tabellen und REAL
Tabellen mit demselben Namen.Mit MySQL können Sie das tun.