[英]How can I combine two mysql queries into one?
我想将这两个查询合并为一个:
mysql_query("INSERT INTO categories (name, parent) VALUES ('$name', '$parent')");
mysql_query("UPDATE categories SET child='$child' WHERE ID = $id");
能做到吗
在MySQL中创建触发器。
在不检查父类别是否存在或捕获异常的情况下,以下方法可以解决问题。 用您的数据库替换“ dbname”。
DROP TRIGGER IF EXISTS `dbname`.`update_parent`//
CREATE TRIGGER `dbname`.`categories` AFTER INSERT ON `dbname`.`categories`
FOR EACH ROW BEGIN
UPDATE categories SET child = NEW.ID WHERE ID = NEW.parent;
END
//
当触发器正常运行时,在INSERT
之后将自动调用更新,因此您需要执行的所有操作:
mysql_query("INSERT INTO categories (name, parent) VALUES ('$name', '$parent')");
尽管我不知道这是否适合您的问题,但实际上可以通过使用MySQLi扩展将多个查询合并为一个(不适用于mysql扩展)
mysqli_multi_query($connection, "INSERT INTO a (attrib1, attrib2) VALUES ('$a', '$b');UPDATE b SET attrib3='$c' WHERE attrib4 = $d");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.