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 视图中插入的主要内容,如果未能解决你的问题,请参考以下文章

无法在 MySQL 表中插入 ♥ 字符

无法使用 MySQL 在 python 中插入单列值

无法通过php在mysql表中插入数据

MySQL无法插入中文的解决方案

无法在mysql表中插入主键

为啥我无法在 PHP 和 MySQL 中获取最后一个插入 ID?