Mysql
 sql >> база данни >  >> RDS >> Mysql

delphi dxExpress MySQL:невалидна стойност LAST_INSERT_ID

Трябва да получите самоличността наведнъж

SQLQry := TSQLQuery.Create(self);
with SQLQry do begin
  SQLConnection := SQLCon;

  SQL.Add('INSERT INTO Sample_Table ');
  SQL.Add('(mobile_number, message_body) VALUES');
  SQL.Add(format('(%s, %s);',[QuotedStr('989121011689'), QuotedStr('Text1')]));

  SQL.Add('SELECT LAST_INSERT_ID() EngineRefNo;');

  Open;
  ListBox1.items.Add(FieldByName('EngineRefNo').AsString);
  Close;
end;

SQLCon.Close;

и трябва да помислите за използването на параметри за предотвратяване на sql инжекция

SQLQry := TSQLQuery.Create(self);
with SQLQry do begin
  SQLConnection := SQLCon;

  SQL.Add('INSERT INTO Sample_Table ');
  SQL.Add('( mobile_number, message_body ) VALUES');
  SQL.Add('( :mobile_number, :message_body );');

  SQL.Add('SELECT LAST_INSERT_ID() EngineRefNo;');

  ParamByName( 'mobile_number' ).Value := '989121011689';
  ParamByName( 'message_body' ).Value := 'Text1';

  Open;
  ListBox1.items.Add(FieldByName('EngineRefNo').AsString);
  Close;
end;

SQLCon.Close;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Сайтът е хакнат чрез SQL инжекция

  2. Кое е по-бързо:много редове или много колони?

  3. Как да стартирате, рестартирате, проверявате състоянието и спирате MySQL сървъра

  4. Грешка в PHP, MySQL:Броят на колоните не съвпада с броя на стойностите на ред 1

  5. Какво представлява MySQL еквивалентът на функцията CHOOSE() на SQL Server?