我有一个包含多个表的数据库,在表中必须有一行,因为否则我的查询出错了。在我的一个插入页面中,我在表格中单独插入行。有没有更有效和安全的方法来做到这一点?也许在Mysql(CASCADE)?
答案 0 :(得分:0)
afaik没有其他方法将相同的数据放入同一语句中的不同表中。 但您可以尝试使用交易。
START TRANSACTION;
insert into t1 (field1, field2) values ('data1','data2');
插入数据后,您可以检查它们是否正常,以及是否一切都像预期的那样提交您的查询:
COMMIT;
或执行回滚操作,删除更改“START TRANSACTION”。
ROLLBACK;
答案 1 :(得分:0)
我建议使用MySQL事务,它允许您在其中一个失败时回滚插入。 SQL启动事务:
START TRANSACTION;
此时,执行插入操作,如果其中一个错误则回滚:
ROLLBACK;
如果所有插入都没有错误,您可以提交插入内容:
COMMIT;
答案 2 :(得分:0)
你可以创建一个存储过程,只要需要它就可以调用它,这样你的插入代码就会被预编译,你的编译时间会被保存,你的插入代码只会在一个地方,所以如果有变化的话要求你只需修改一个功能。