Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

delphi dxExpress MySQL:giá trị LAST_INSERT_ID không hợp lệ

Bạn sẽ nhận được ID ngay lập tức

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;

và bạn nên nghĩ đến việc sử dụng các tham số để ngăn chặn việc tiêm 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. Hơn 1000 lệnh gọi API với 1 công việc cron?

  2. Python 'float64' không thể được chuyển đổi thành loại MySQL nhưng trong truy vấn thủ công, không có vấn đề gì

  3. Truy vấn ranh giới từ hiệu quả hơn trong mySQL

  4. Cách lấy ngày cuối cùng của tháng trong mysql bằng cách đưa tháng và năm làm đầu vào

  5. PDO:kiểm tra bản ghi đã cập nhật hoặc đã chèn bằng cách sử dụng mysql CHÈN VÀO CẬP NHẬT KHÓA DUPLICATE