quest tương tự là ở đây: Help with db query in drupal - if exists update else insertdrupal chèn hoặc cập nhật kỷ lục DB chỉ có một chức năng
Nhưng drupal_write_record() số thứ ba là xác định cập nhật hoặc chèn. Có lẽ drupal có chức năng khác, ai tự xác định chèn hoặc cập nhật bằng khóa chính? Hay tôi nên tự lập trình?
tôi mỗi khi tạo ra kỷ lục với hai khóa chính (không có ai là tự động tăng), vì vậy tôi không thể kiểm tra hồ sơ mà không cần kiểm tra ở trong DB. Tôi nghĩ cách dễ nhất là lần đầu tiên cố gắng xóa bản ghi và chèn. Nhưng tôi sợ về chi phí trên bàn ... – neworld
Ý của bạn là khóa tổng hợp? Điều này sẽ không tạo sự khác biệt với phương pháp tôi đã nêu. Chỉ cần làm một SELECT * với sự kết hợp của các lĩnh vực trong một mệnh đề WHERE và xem những gì trở lại. Có bất kỳ trường nào khác trong bảng ngoài các trường bạn đang sử dụng cho khóa (tức là đây là bảng kết nối nhiều người tham gia) không? –
Tôi có một truy vấn đơn giản. Vì vậy, tôi viết chức năng phổ quát bản thân mình, bởi vì tôi cần nó thường xuyên. – neworld