![]() |
Datensätze von einer Tabelle in eine andere kopieren
Hallo
Habe folgendes Problem: Ich möchte per SQL Code mehrere Datensätze von einer Tabelle in eine andere Tabelle kopieren. Ich habe zwei DateTimePicker, mit den ich den Zeitraum festlegen kann. Außerdem benutze ich ADO- Querys Nun benötige ich dafür den SQL Code. Bitte deshalb um Hilfe. Dankeschön im voraus MFG Voltzi |
Re: Datensätze von einer Tabelle in eine andere kopieren
Du solltest mal etwas zum Aufbau der Tabellen sagen und uns gleich verraten, um was für eine DB es sich handelt.
...:cat:... |
Re: Datensätze von einer Tabelle in eine andere kopieren
Aufbau der Tabellen:
Die Tabellen haben jeweils eine Spalte ID als Auto_Increment, eine Spalte mit dem Datum, wann der Datensatz eingetragen wurde und noch andere Attribute. Die Datensätze aus der einen Tabelle sollen in die andere leere Tabelle kopiert werden. Es handelt sich um eine MySQL- Datenbank, verwaltet mit phpMyAdmin. |
Re: Datensätze von einer Tabelle in eine andere kopieren
Hallo Voltzi,
zunächst einmal herzlich willkommen im Delphi-PRAXIS Forum. Grundsätzlich geht das mit INSERT:
SQL-Code:
INSERT INTO newTable
SELECT * FROM oldTable WHERE (timeFrom >= :timeFrom) AND (timeBis <= :timeBis) |
Re: Datensätze von einer Tabelle in eine andere kopieren
Gibts den Befehl
SQL-Code:
bei MySQL :gruebel: Ich glaube nicht, und ich denk somit auch nicht, daß sich das Kopieren so in einem Schritt bewerkstelligen läßt.
select into...
|
Re: Datensätze von einer Tabelle in eine andere kopieren
@ MrSpock
wie muss ich den SQL String jetzt richtig zusammensetzen?? einfach
Delphi-Quellcode:
funktioniert nicht wirklich.
Query.SQL.ADD('INSERT INTO newTable');
Query.SQL.ADD('SELECT * FROM oldTable'); |
Re: Datensätze von einer Tabelle in eine andere kopieren
:thumb: OK, der Code von MrSpock funktioniert... War mir so auch noch nicht bekannt bei MySQL
|
Re: Datensätze von einer Tabelle in eine andere kopieren
Zitat:
|
Re: Datensätze von einer Tabelle in eine andere kopieren
Hallo Voltzi,
natürlich musst du newTable und oldTable durch die echten Namen der Tabellen ersetzen. Übrigens auch die Feldnamen timeFrom und timeBis. :mrgreen: |
Re: Datensätze von einer Tabelle in eine andere kopieren
Zitat:
SQL-Code:
die ID Spalte mit berücksichtigt wird. Das klappt aber nicht weil du in der neuen Tabelle sicherlich auch einen Primärschlüssel definiert hast, und du so womöglich Probleme bekommst... Lasse also einfach die ID Spalte weg, etwa so:
select *...
SQL-Code:
In Delphi führst du den Befehl dann mit
insert into NewNamen (Name,Vorname)
select Name, Vorname from Namen
Delphi-Quellcode:
aus.
Query.ExecSQL ;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz