- 论坛徽章:
- 0
|
环境: win2000+MySQL5.0
用root在MySQL的数据库orders里创建了一张视图'details'
CREATE VIEW details (order_id, customer_id, employee_id, order_date, discount, paid,
quantity, product_name, price, company_name, reseller)
AS
SELECT o.order_id, o.customer_id, o.employee_id, o.order_date, o.discount, o.paid,
od.quantity, p.product_name, p.price, c.company_name, c.reseller
FROM orders o INNER JOIN
order_details od ON o.order_id = od.order_id INNER JOIN
products p ON od.product_id = p.product_id INNER JOIN
customers c ON o.customer_id = c.customer_id
WHERE (o.customer_id < 10)
然后是用mysqldump导出数据库。
mysqldump -u root -p 123456 orders > d:\\orders.sql
进入MySQL,删除数据库orders,将orders.sql导回。
发现视图details已经不能get到数据。
打开orders.sql,发现这一段:
-- Table structure for table `details`
--
DROP TABLE IF EXISTS `details`;
/*!50001 DROP VIEW IF EXISTS `details`*/;
/*!50001 DROP TABLE IF EXISTS `details`*/;
/*!50001 CREATE TABLE `details` (
`order_id` int(10),
`customer_id` tinyint(2),
`employee_id` tinyint(2),
`order_date` date,
`discount` decimal(2,2),
`paid` varchar(5),
`quantity` tinyint(2),
`product_name` varchar(40),
`price` decimal(6,2),
`company_name` varchar(50),
`reseller` varchar(5)
) */;
--
也就是说没有给我还原回去我创建的那个view,只是创建了一个空的table.
请求各位帮帮忙,该怎样在MySQL里导出一个view,使得还原回去还是好好的。
谢谢了! |
|