Ja, richtig. Deswegen muss ich ja einen JOIN reinbasteln, damit ich beim nächsten INSERT auf die ID zugreifen kann:
Delphi-Quellcode:
// Existiert der Datensatz in der Datenbank?
sql := '
SELECT id FROM datasets WHERE population_id = '+IntToStr(pop_id)+'
AND system_id = '+IntToStr(syst_id);
sql_result := frmMain.Database.Query(
sql);
if (frmMain.Database.NumRows(sql_result) = 0)
then
begin
// Datensatz in die Datenbank einfügen
sql := '
INSERT INTO datasets (population_id, system_id, population_size) VALUES ('+IntToStr(pop_id)+'
, '+IntToStr(syst_id)+'
, '+IntToStr(popsize)+'
)';
frmMain.Database.Query(
sql);
sql := '
SELECT id FROM datasets WHERE id = LAST_INSERT_ID()';
sql_result := frmMain.Database.Query(
sql);
end;
Da brauche ich ja
pop_id wieder.