MySQL:无法在 MySQL 视图中插入
Posted
技术标签:
【中文标题】MySQL:无法在 MySQL 视图中插入【英文标题】:MySQL: Cannot insert in a MySQL View 【发布时间】:2014-01-18 05:03:54 【问题描述】:我遇到了问题。我研究了但我没有得到解决方案。
我正在尝试插入 mysql VIEW 但我收到以下错误:
Can not modify more than one base table through a join view 'my_view'
查询:
INSERT INTO `aosship`.`products_inventory` ( `products_id` , `inventory_id`, `parent_id` , `qty_on_stock` , `inventory_date` , `expiration_date` , `supplier_id` , `qty_in_back_order` , `location_id` , `product_id` , `税`, `数量` , `upc` , `product_name` , `描述`, `ebt` , `wic` , `停产` , `reorder_point` , `reorder_qty` , `应税` , `time_stamp` , `product_control` , `价格`, `category_name` , `temp_product` , `成本` ) 价值观( '00000000000', '0', '1', '1', '2014-01-18 00:00:00', '2014-01-18', '1', '1', '1', ' 1'、'1'、'1'、'1'、'1'、'1'、'1'、'1'、'1'、'1'、'1'、'1'、'2014- 01-18 00:00:00', '1', '1', '1', '1', '1' )
查询创建视图:
创建 算法 = 未定义 DEFINER = `root`@`localhost` SQL 安全定义器 查看`aosship`.`products_inventory` AS 选择 `aosship`.`products`.`ID` AS `products_id`, `aosship`.`inventory`.`ID` AS `inventory_id`, `aosship`.`inventory`.`parent_id` AS `parent_id`, `aosship`.`inventory`.`qty_on_stock` AS `qty_on_stock`, `aosship`.`inventory`.`inventory_date` AS `inventory_date`, `aosship`.`inventory`.`expiration_date` AS `expiration_date`, `aosship`.`inventory`.`supplier_id` AS `supplier_id`, `aosship`.`inventory`.`qty_in_back_order` AS `qty_in_back_order`, `aosship`.`inventory`.`location_id` AS `location_id`, `aosship`.`inventory`.`product_id` AS `product_id`, `aosship`.`inventory`.`tax` AS `tax`, `aosship`.`inventory`.`qty` AS `qty`, `aosship`.`products`.`upc` AS `upc`, `aosship`.`products`.`product_name` AS `product_name`, `aosship`.`products`.`description` AS `description`, `aosship`.`products`.`ebt` AS `ebt`, `aosship`.`products`.`wic` AS `wic`, `aosship`.`products`.`discontinued` AS `discontinued`, `aosship`.`products`.`reorder_point` AS `reorder_point`, `aosship`.`products`.`reorder_qty` AS `reorder_qty`, `aosship`.`products`.`taxable` AS `taxable`, `aosship`.`products`.`time_stamp` AS `time_stamp`, `aosship`.`products`.`product_control` AS `product_control`, `aosship`.`inventory`.`price` AS `price`, `aosship`.`inventory`.`catagory_name` AS `catagory_name`, `aosship`.`products`.`temp_product` AS `temp_product`, `aosship`.`products`.`cost` AS `cost` 从 (`aosship`.`库存` 加入 `aosship`.`products` ON ((`aosship`.`inventory`.`product_id` = `aosship`.`products`.`ID`))))
请指导我如何解决此问题。
非常感谢。
【问题讨论】:
你应用了什么查询? 我编辑并添加了查询,所以请看一下。 【参考方案1】:使用 VIEW,一次只能更新一个表。
如果您想用一个查询更新多个表,您可以查看存储过程。
【讨论】:
但是请在我的问题中检查我上面的查询。它只插入一张桌子。我没有更新多个表。【参考方案2】:如果您使用连接来创建视图,并且创建的视图包含视图表中的所有列 那么您可以使用两个插入语句插入到视图表中。
【讨论】:
但我没有使用两个插入语句。我只使用单个语句插入。 我已经在我的问题中插入了我的查询,所以请检查一下。 但是您只提交了插入查询,而不是创建视图查询? 好的,我刚刚将查询提交到创建视图。所以请检查一下以上是关于MySQL:无法在 MySQL 视图中插入的主要内容,如果未能解决你的问题,请参考以下文章