查询更新和删除两个不同表中的记录
Posted
技术标签:
【中文标题】查询更新和删除两个不同表中的记录【英文标题】:Query to update and delete records in two different tables 【发布时间】:2018-02-19 01:03:09 【问题描述】:我想编写一个查询,从表中删除记录并更新另一个记录。这是我的查询:
DELETE FROM borrowed_books a WHERE a.id = '$id'
AND
UPDATE books b SET b.nr_copies=b.nr_copies+1 where
b.id_book=a.id_book
控制台中的错误说:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version
我正在使用 mysql 和 XAMPP。
【问题讨论】:
【参考方案1】:你不能在一个查询中做两个动作
你必须使用两个查询
DELETE FROM borrowed_books a WHERE a.id = '$id'
;
UPDATE books b
INNER JOIN borrowed_books a
SET b.nr_copies=b.nr_copies+1
where b.id_book=a.id_book
and a.id = '$id'
;
使用更新加入
最终你可以在一个命令中检查你的 mysql 驱动程序是否有多个查询
【讨论】:
将它们放入交易中!以上是关于查询更新和删除两个不同表中的记录的主要内容,如果未能解决你的问题,请参考以下文章
oracle 如何根据一个表中记录的变动更新另外一个表中相应的字段