【问题标题】:Can't delete a mySQL table. (Error 1050)无法删除 mySQL 表。 (错误 1050)
【发布时间】:2011-02-22 16:26:44
【问题描述】:

我有一个不会删除的讨厌的表,它阻碍了我的开发环境刷新:(

我知道这张桌子存在。示例...

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)

感觉很傻。

【问题讨论】:

    标签: mysql mysqldump mysql-error-1050


    【解决方案1】:

    从名称来看,它可能是一个视图。尝试使用DROP VIEW

    DROP VIEW uc_order_products_qty_vw
    

    DROP TABLE 不适用于视图:

    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
    

    【讨论】:

    • 是的,最后的vw 似乎是一个死的赠品,这是一个视图而不是一张桌子。
    • 想知道我是否可以在我的 mysqldump 中传递一个参数,它将不正确的“DROP TABLE IF EXISTS”语句变成“DROP VIEW IF EXISTS”?
    猜你喜欢
    • 2017-08-17
    • 2018-05-15
    • 2012-10-15
    • 1970-01-01
    • 2010-12-11
    • 2018-08-20
    • 1970-01-01
    • 2016-04-20
    • 2017-04-14
    相关资源
    最近更新 更多