Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#4

AW: MySQL Duplicate Entry Auto-Inc

  Alt 29. Dez 2015, 17:31
Ist die 'id' in dem Statement enthalten? Result := Format('INSERT INTO %s (%s) VALUES (%s)',[ClassToTableName(cl),fields,values]); Wenn ja, stelle sicher, dass dem nicht so ist.

Weiß nicht, wie sich MySQL verhält, wenn man für ein Auto-Increment-Feld einen Wert liefert. Nimmt es auf jeden Fall einen eigenen neuen Wert oder übernimmt MySQL dann den "gelieferten" Wert?

Wenn ich Deinen Quelltext richtig verstehe, sollte forceId auf jeden Fall false sein oder für die ID explizit Null geliefert werden.

So in der Art:
Delphi-Quellcode:
if forceId then begin
  fields := fields + sep + '`' + prop.Name + '`';
  values := values + sep + 'Null';
end;
  Mit Zitat antworten Zitat