我在JAVA中编写了一个应用程序,它将文章添加到Joomla网站。
我的问题是,插入一篇文章需要五个查询运行(添加文章到content
表,插入相应的节点到assets
表,更新其他节点assets
表&设置插入文章的资产ID);并且因为我的JAVA应用程序在远程计算机上运行,所以如果其中任何一个查询都无法通过整个assets
表中断,那么很多问题都可能导致这些查询中的任何一个失败&。
我想过使用事务和手动提交来解决这个问题,但Joomla的存储引擎(MyISAM)不支持事务。所以考虑将这两个表的存储引擎转换为“InnoDB”。
这是正确的吗?它不会为Joomla带来问题(例如在与使用MyISAM的其他表进行连接时)? 它会影响现场并使其变慢?
是否有其他解决方案(例如,将所有5个查询发送到服务器以按顺序运行)?将Joomla表引擎更改为InnoDB
感谢
嗨,谢谢;触发器不会引发joomla自己的查询问题吗?我的意思是,当我创建一个AFTER INSERT触发器时,它会在我的远程应用程序查询(应该)和joomla本身的查询(不应该!)上运行;可以将触发器配置为只在我的远程应用程序查询上运行吗? – RYN 2012-03-31 16:56:16