Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql多表移动数据(插入和删除)_Mysql - Fatal编程技术网

mysql多表移动数据(插入和删除)

mysql多表移动数据(插入和删除),mysql,Mysql,我需要执行多表移动,我正在这样做: $result = mysql_query("INSERT INTO `fiscal_rad_test` (`objectid`, `dan`, `smena`, `racun`, `owner`, `konobar`, `sto`, `tip`, `konto`, `datum`, `vreme`, `tiprobe`, `roba`, `naziv`, `kolicina`, `cena`, `ukupno`, `nabavna`, `stanje`, `

我需要执行多表移动,我正在这样做:

$result = mysql_query("INSERT INTO `fiscal_rad_test` (`objectid`, `dan`, `smena`, `racun`, `owner`, `konobar`, `sto`, `tip`, `konto`, `datum`, `vreme`, `tiprobe`, `roba`, `naziv`, `kolicina`, `cena`, `ukupno`, `nabavna`, `stanje`, `porez`, `kategorija`)
    SELECT `objectid`,
           `dan`,
           `smena`,
           `racun`,
           `owner`,
           `konobar`,
           `sto`,
           `tip`,
           `konto`,
           `datum`,
           `vreme`,
           `tiprobe`,
           `roba`,
           `naziv`,
           `kolicina`,
           `cena`,
           `ukupno`,
           `nabavna`,
           `stanje`,
           `porez`,
           `kategorija`
    FROM `fiscal_rad_temp_test`
    WHERE objectid = '$object'");   
$transacitionresult = mysql_query("INSERT INTO `fiscal_transactions` (`objectid`, `dan`, `smena`, `owner`, `konobar`, `sto`, `tip`, `konto`, `datum`, `vreme`, `racun`, `data`, `ukupno`)
    SELECT `objectid`,
           `dan`,
           `smena`,
           `owner`,
           `konobar`,
           `sto`,
           `tip`,
           `konto`,
           `datum`,
           `vreme`,
           `racun`,
           `data`,
           `ukupno`
    FROM `fiscal_transactions_temp`
    WHERE objectid = '$object'");
$delete = mysql_query("DELETE FROM `fiscal_transactions_temp` WHERE objectid = '$object'");
$delete = mysql_query("DELETE FROM `fiscal_rad_temp_test` WHERE objectid = '$object'");
这样做是否更好、更可靠?
我是否可以排除一些错误,可能是某些行没有用这种方法删除?

唯一的潜在问题是插入和删除之间是否有中断。如果您使用的是InnoDB,则可以使用事务使其更安全。您是否在插入选择中选择了所有字段?如果是,那么您可以用一个*like:SELECT*FROM…来替换所有的选项。。。这样,您的查询将更加清晰。我同意@Barmar。看一下本教程来进行事务处理:不,我实际上是在两个表中都选择了除ID以外的所有字段,以自动获得两个表中的自动递增ID字段