لا يمكن حذف جدول MySQL. (خطأ 1050)
-
04-10-2019 - |
سؤال
لديّ طاولة مزعجة لن تحذفها وهي تحافظ على تحديث بيئة ديف :(
أعلم أن هذا الجدول موجود. مثال...
mysql> select * from uc_order_products_qty_vw limit 10;
+-----+-------------+---------+---------+---------+---------+
| nid | order_count | avg_qty | sum_qty | max_qty | min_qty |
+-----+-------------+---------+---------+---------+---------+
| 105 | 1 | 1.0000 | 1 | 1 | 1 |
| 110 | 5 | 1.0000 | 5 | 1 | 1 |
| 111 | 1 | 1.0000 | 1 | 1 | 1 |
| 113 | 5 | 1.0000 | 5 | 1 | 1 |
| 114 | 1 | 1.0000 | 1 | 1 | 1 |
| 115 | 1 | 1.0000 | 1 | 1 | 1 |
| 117 | 2 | 1.0000 | 2 | 1 | 1 |
| 119 | 3 | 1.3333 | 4 | 2 | 1 |
| 190 | 5 | 1.0000 | 5 | 1 | 1 |
| 199 | 2 | 1.0000 | 2 | 1 | 1 |
+-----+-------------+---------+---------+---------+---------+
10 rows in set (0.00 sec)
ومع ذلك عندما أحاول إسقاطها ...
mysql> DROP TABLE IF EXISTS uc_order_products_qty_vw;
Query OK, 0 rows affected, 1 warning (0.00 sec)
لا ينجح ، الجدول لا يزال موجودًا ، ويقول التحذير هذا ...
mysql> show warnings limit 1;
+-------+------+------------------------------------------+
| Level | Code | Message |
+-------+------+------------------------------------------+
| Note | 1051 | Unknown table 'uc_order_products_qty_vw' |
+-------+------+------------------------------------------+
1 row in set (0.00 sec)
الشعور بالغبطة جدا.
المحلول
انطلاقا من الاسم قد يكون وجهة نظر. جرب استخدام عرض إسقاط:
DROP VIEW uc_order_products_qty_vw
جدول إسقاط لا يعمل في وجهات النظر:
CREATE VIEW test_vw AS SELECT 1;
SELECT * FROM test_vw; -- works
DROP TABLE test_vw; -- error: Unknown table 'test_vw'
DROP VIEW test_vw; -- works
لا تنتمي إلى StackOverflow