【发布时间】:2012-04-27 12:53:24
【问题描述】:
当我运行以下查询时出现错误:
SELECT
`a`.`sl_id` AS `sl_id`,
`a`.`quote_id` AS `quote_id`,
`a`.`sl_date` AS `sl_date`,
`a`.`sl_type` AS `sl_type`,
`a`.`sl_status` AS `sl_status`,
`b`.`client_id` AS `client_id`,
`b`.`business` AS `business`,
`b`.`affaire_type` AS `affaire_type`,
`b`.`quotation_date` AS `quotation_date`,
`b`.`total_sale_price_with_tax` AS `total_sale_price_with_tax`,
`b`.`STATUS` AS `status`,
`b`.`customer_name` AS `customer_name`
FROM `tbl_supplier_list` `a`
LEFT JOIN `view_quotes` `b`
ON (`b`.`quote_id` = `a`.`quote_id`)
LIMIT 0, 30
错误信息是:
#1449 - The user specified as a definer ('web2vi'@'%') does not exist
为什么会出现这个错误?我该如何解决?
【问题讨论】:
-
向我们展示您的 SHOW CREATE VIEW 'view_quotes'
-
错误必须在
view_quotes视图的where条件下。 -
想了一会儿,最简单的做法是将丢失的帐户添加到数据库中,错误就消失了。无需复杂的程序。如果您可以添加帐户,请先尝试。
-
我在尝试恢复某些视图时遇到了同样的错误,我从我拥有的 onlyViews.sql 文件中删除了“DEFINER=
root@%”,问题解决了。如果您有非常大的 .sql 文件,您可以通过 specefiv 文件编辑器打开和编辑它。
标签: mysql permissions