Hướng dẫn mysql drop temporary table if exists - mysql thả bảng tạm thời nếu tồn tại
Tôi muốn biết cách sử dụng Show Tôi đã thấy một vài cách để làm điều tạm thời. Về cơ bản, bạn tạo ra bảng temp, làm việc trên nó, và sau đó thả nó vào cuối ... hoặc bạn bỏ nó nếu nó tồn tại, tạo nó, và sau đó thực hiện công việc của bạn trên nó. Tôi thích phương pháp thứ hai để bạn luôn bắt đầu sạch sẽ và đó là kiểm tra tích hợp cho sự tồn tại của bảng. Tuy nhiên, tôi dường như không thể làm cho nó hoạt động: Đây là những ví dụ của tôi: Những công việc này:
Những công việc này:
Điều này không:
2 công việc đầu tiên, nhưng nếu bảng đó tồn tại (như nếu quy trình không hoàn thành hoặc một cái gì đó), thì rõ ràng nó sẽ kết thúc với lỗi "bảng tbltest không tồn tại". Ví dụ không làm việc là những gì tôi đang tìm kiếm-thả bảng nếu nó ở đó và sau đó tạo lại nó để tôi có thể bắt đầu sạch sẽ. Cảm giác như đó là "nếu tồn tại" khiến điều này thất bại. Tôi đã sao chép mã từ tất cả các loại trang web làm những việc rất giống nhau và trong mọi trường hợp tôi không thể nhận được "bảng thả nếu tồn tại ..." để hoạt động. Bao giờ. Máy chủ Dev: Máy chủ MySQL Phiên bản: 5.1.47-Community Prod Server: MySQL Server Phiên bản: 5.0.45-Log Chúng tôi không thể thay đổi các phiên bản DB (DBA sẽ không cho phép nó), vì vậy tôi bị mắc kẹt với những gì tôi có. Đây là một lỗi trong MySQL hay trong thủ tục? Thanks. 13.1.32 & NBSP; Tuyên bố bảng thả
Hãy cẩn thận với tuyên bố này! Đối với mỗi bảng, nó loại bỏ định nghĩa bảng và tất cả dữ liệu bảng. Nếu bảng được phân vùng, câu lệnh sẽ xóa định nghĩa bảng, tất cả các phân vùng của nó, tất cả dữ liệu được lưu trữ trong các phân vùng đó và tất cả các định nghĩa phân vùng liên quan đến bảng bị rơi. with this statement! For each table, it removes the table definition and all table data. If the table is partitioned, the statement removes the table definition, all its partitions, all data stored in those partitions, and all partition definitions associated with the dropped table. Thả một bảng cũng giảm bất kỳ yếu tố kích hoạt nào cho bảng. Quan trọng Khi một bảng bị bỏ, các đặc quyền được cấp cụ thể cho bảng không tự động bị hủy. Họ phải được thả thủ công. Xem Phần & NBSP; 13.7.1.6, Tuyên bố Grant Grant.not automatically dropped. They must be dropped manually. See Section 13.7.1.6, “GRANT Statement”. Nếu bất kỳ bảng nào có tên trong danh sách đối số không tồn tại, hành vi 0 có được đưa ra hay không:
0 cũng có thể hữu ích cho việc bỏ các bảng trong các trường hợp bất thường, theo đó có một mục trong từ điển dữ liệu nhưng không có bảng nào được quản lý bởi công cụ lưu trữ. . Từ khóa
Bao gồm từ khóa Các từ khóa 1 và 2 không làm gì cả. Họ được phép làm cho việc chuyển giao dễ dàng hơn từ các hệ thống cơ sở dữ liệu khác. 4. Xem Phần & NBSP; 15.21.3, Buộc phục hồi Innodb. Điều gì xảy ra nếu bảng chưa tồn tại và bạn cố gắng thả nó?Nếu chúng ta cố gắng thả một bảng không tồn tại, chúng ta sẽ nhận được thông báo lỗi sau. Chúng tôi không muốn có bất kỳ lỗi nào trong việc thực thi các truy vấn, đặc biệt là trong quá trình thực thi một loạt mã. Trước SQL Server 2016, các nhà phát triển sử dụng câu lệnh IF tồn tại và kiểm tra sự tồn tại của đối tượng trước khi bỏ nó.error message. We do not want any error in executing queries, especially during the execution of a bunch of code. Before SQL Server 2016, developers use the IF EXISTS statement and check for the object existence before dropping it.
Các bảng tạm thời có nhanh hơn MySQL không?Vì các bảng tạm thời được lưu trữ trong bộ nhớ, chúng nhanh hơn đáng kể so với các bảng dựa trên đĩa.Do đó, chúng có thể được sử dụng hiệu quả làm khu vực lưu trữ trung gian, để tăng tốc độ thực thi truy vấn bằng cách giúp chia các truy vấn phức tạp thành các thành phần đơn giản hơn hoặc thay thế cho phụ và tham gia hỗ trợ.they are significantly faster than disk-based tables. Consequently, they can be effectively used as intermediate storage areas, to speed up query execution by helping to break up complex queries into simpler components, or as a substitute for subquery and join support.
Mục đích của lệnh Drop Bush trong MySQL Làm thế nào khác với lệnh xóa?Xóa là lệnh ngôn ngữ thao tác dữ liệu, lệnh DML và được sử dụng để loại bỏ các bộ dữ liệu/bản ghi khỏi một mối quan hệ/bảng.Trong khi thả là ngôn ngữ định nghĩa dữ liệu, lệnh DDL và được sử dụng để loại bỏ các phần tử được đặt tên của lược đồ như quan hệ/bảng, các ràng buộc hoặc toàn bộ lược đồ.DROP is a Data Definition Language, DDL command and is used to remove named elements of schema like relations/table, constraints or entire schema. |