Tôi đang cố gắng xóa khỏi một vài bảng cùng một lúc. Tôi đã làm một chút nghiên cứu, và đã đưa ra với điều nàyLàm thế nào để xóa khỏi nhiều bảng trong MySQL?
DELETE FROM `pets` p,
`pets_activities` pa
WHERE p.`order` > :order
AND p.`pet_id` = :pet_id
AND pa.`id` = p.`pet_id`
Tuy nhiên, tôi nhận được lỗi này
của router Database_Exception [1064]: Bạn có một lỗi trong cú pháp SQL của bạn; kiểm tra hướng dẫn tương ứng với phiên bản máy chủ MySQL của bạn cho đúng cú pháp để sử dụng gần 'p,
pets_activities
pa ...
Tôi chưa bao giờ thực hiện một bảng chéo xóa trước đó, vì vậy tôi thiếu kinh nghiệm và mắc kẹt cho hiện nay!
Tôi đang làm gì sai?
Tôi đã thử điều này "xóa tất cả trong 1 truy vấn" với việc tham gia 6 bảng lớn (tất cả mọi người khoảng ~ 15k hàng) và truy vấn mất 155 giây để xóa 63 hàng trong 6 bảng: O – techouse
@cadman Đây là câu trả lời đúng; có thể có những lý lẽ chống lại việc sử dụng nó, nhưng nó rất hữu ích vào dịp –
+1 Tôi đồng ý rằng điều này trong câu trả lời đúng, vì câu hỏi không phải là "bạn nên" mà là "làm thế nào để". Tuy nhiên, tôi sẽ quan tâm đến việc nghe về 1% vì tôi không thể nghĩ ra một tình huống duy nhất mà điều này sẽ được ưa thích hơn. –