Điều tôi muốn làm là đặt từng bệnh nhân mã bệnh nhân duy nhất của nó bắt đầu bằng 1 và không dựa trên id hàng. Id chỉ xác định thứ tự. Một cái gì đó như thế này:Giá trị cập nhật MySQL từ cùng một bảng với số
patient_id patient_code
2 1
3 2
4 3
Đây là câu hỏi của tôi:
UPDATE patients p1
SET p1.patient_code = (
SELECT COUNT(*)
FROM patients p2
WHERE p2.patient_id <= p1.patient_id
)
Nhưng nó được ném lỗi:
#1093 - You can't specify target table 'p1' for update in FROM clause
tôi thấy chủ đề này: Mysql error 1093 - Can't specify target table for update in FROM clause.
Nhưng tôi không biết cách áp dụng câu trả lời được phê duyệt để làm việc với truy vấn phụ WHERE cần thiết cho COUNT.
Tính năng này đang hoạt động. Cảm ơn. Giải pháp của tôi nhanh hơn, nhưng cũng có một số hạn chế –