mysql在多个表中插入行

时间:2014-03-24 09:48:13

标签: php mysql

我有一个包含多个表的数据库,在表中必须有一行,因为否则我的查询出错了。在我的一个插入页面中,我在表格中单独插入行。有没有更有效和安全的方法来做到这一点?也许在Mysql(CASCADE)?

3 个答案:

答案 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;

MySQL docs for transactions

答案 2 :(得分:0)

你可以创建一个存储过程,只要需要它就可以调用它,这样你的插入代码就会被预编译,你的编译时间会被保存,你的插入代码只会在一个地方,所以如果有变化的话要求你只需修改一个功能。