PHP / MySQL – “BEGIN … COMMIT”不工作
发布时间:2020-12-13 17:57:29 所属栏目:PHP教程 来源:网络整理
导读:我正在寻找一种方法,在一个查询中将数据插入到两个数据库表中,如果一个失败,既不保存(我不想要孤立的数据).我遇到了一个Stack Overflow问题,它向我展示了如何使用BEGIN … COMMIT来实现这一目标,但它根本不起作用. 这是我设置的查询: $query = "BEGIN; INSE
我正在寻找一种方法,在一个查询中将数据插入到两个数据库表中,如果一个失败,既不保存(我不想要孤立的数据).我遇到了一个Stack Overflow问题,它向我展示了如何使用BEGIN … COMMIT来实现这一目标,但它根本不起作用.
这是我设置的查询: $query = "BEGIN; INSERT INTO content_subpages (title,url_referer) VALUES ('$pagetitle','$url_referer'); INSERT INTO ccm_main_menu (sub_item,sub_item_link,sub_item_sort_order) VALUES ('$pagetitle','$url_referer','$newsort'); COMMIT;"; mysql_query($query) or die (mysql_error()); 我收到以下错误: 这是我第一次使用BEGIN … COMMIT,所以我可能做错了是合理的,但是我遵循了我提到的Stack Overflow问题的选定答案给出的SQL Fiddle示例的语法(http:// stackoverflow.com/questions/12649706/mysql-insert-into-multiple-tables-in-same-query-with-begincommit),但它仍然无法正常工作. 如果我可以在没有BEGIN … COMMIT的情况下轻松实现“全有或全无”的多个INSERT结果,那将是一个可接受的解决方案. 提前致谢
尝试将行分为多个php语句:
$query = "BEGIN"; mysql_query($query) or die (mysql_error()); $query = "INSERT INTO content_subpages (title,'$url_referer')"; mysql_query($query) or die (mysql_error()); $query = "INSERT INTO ccm_main_menu (sub_item,'$newsort')"; mysql_query($query) or die (mysql_error()) $query = "COMMIT"; mysql_query($query) or die (mysql_error()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |