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

nhận mysql_insert_id () trong khi sử dụng CẬP NHẬT KHÓA DUPLICATE với PHP

Đây là câu trả lời, theo gợi ý của Alexandre:

khi bạn sử dụng id =LAST_INSERT_ID (id), nó sẽ đặt giá trị của mysql_insert_id =ID đã cập nhật-- vì vậy mã cuối cùng của bạn sẽ giống như sau:

<?
    $query = mysql_query("
        INSERT INTO table (column1, column2, column3) 
        VALUES (value1, value2, value3) 
        ON DUPLICATE KEY UPDATE
            column1 = value1, 
            column2 = value2, 
            column3 = value3, 
            id=LAST_INSERT_ID(id)
    ");
    $my_id = mysql_insert_id();

Điều này sẽ trả về giá trị phù hợp cho $ my_id bất kể cập nhật hoặc chèn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_connect VS mysql_pconnect

  2. Truyền trực tuyến tập hợp kết quả lớn với MySQL

  3. không thể truy cập mysql từ dòng lệnh mac

  4. Tôi có thể khởi chạy trình kích hoạt trên câu lệnh select trong mysql không?

  5. Sự gia tăng nguyên tử với Khung thực thể