là nó có thể hoặc là để xóa tất cả các hàng từ tất cả các bảng với một lệnh duy nhất trong postgres
Bạn nói đúng, câu trả lời là KHÔNG
Bạn có thể định nghĩa tầng phím nước ngoài sẽ xóa tất cả các hàng tham chiếu nếu "cha mẹ" bị xóa. Nhưng đó là một thuộc tính của khóa ngoại, không có gì bạn có thể chỉ định với câu lệnh DELETE
nếu không - wow.
Điều đó nghĩa là gì?
Suy nghĩ thứ hai: bạn đang cố gắng đạt được điều gì?
Tôi có nghi ngờ rằng bạn đang cố gắng "đặt lại", ví dụ: một cơ sở dữ liệu thử nghiệm. Trong trường hợp đó, cách tiếp cận PostgreSQL sẽ là:
- Tạo một cơ sở dữ liệu có chứa tất cả mọi thứ (bảng biểu, quan điểm, chỉ số vv), bạn cần trong một cơ sở dữ liệu mới (gọi nó là ví dụ my_template)
- Để thiết lập lại Test- hiện tại của bạn DB, hãy thực hiện
DROP DATABASE testdb
và sau đó tạo lại cơ sở dữ liệu thử nghiệm bằng cách sử dụng CREATE DATABASE testdb TEMPLATE my_template
Testdb mới tạo sẽ có tất cả các bảng được định nghĩa trong my_template. Đó có thể là số nhiều hơn nhanh hơn xóa tất cả các hàng.
Nguồn
2010-08-19 17:17:34
Bạn nói đúng, đó chính xác là những gì tôi đang cố gắng làm và tôi cảm thấy thất vọng khi các bưu cục không có cách đơn giản để xóa dữ liệu nhanh chóng. Tôi sẽ tạo một mẫu - cảm ơn sự giúp đỡ. – AP257
Như bạn có vẻ mong đợi một loại "DELETE tất cả mọi thứ TỪ" loại tuyên bố tôi tự hỏi tại sao? Không có cơ sở dữ liệu mà tôi biết hỗ trợ này. –
Vâng, điều tôi thực sự thích là DELETE CASCADE. Trong trường hợp không có, DELETE tất cả mọi thứ TỪ sẽ là một thay thế chấp nhận được. Nhưng không có một chút đau đớn! – AP257