1

あるテーブルから別のデータベースの別のテーブルにレコードをコピーしようとしています

私が試したこと

    $sql13 = " INSERT INTO `archive_accounts`.`bank_info` SELECT * FROM
   `pb_accounts`.`bank_info` WHERE `emp_id` = '$seid' ";
    mysqli_query($dbac,$sql13);

他の多くのクエリはすべて適切に実行されますが、

    $sql21 = " INSERT INTO `archive_accounts`.`compensation` SELECT * FROM `pb_accounts`.`compensation` WHERE `emp_id` = '$seid' ";
        mysqli_query($dbac,$sql21) or die(mysqli_error($dbac));

  $sql17 = " INSERT INTO `archive_accounts`.`c_allowance` SELECT * FROM `pb_accounts`.`c_allowance` WHERE `emp_id` = '$seid' ";
        mysqli_query($dbac,$sql17) or die(mysqli_error($dbac));

行をコピーせず、エラーをスローしないテーブル構造は、phpmyadminを使用してクエリを実行しても同じで、正しく実行されます

のテーブル構造pb_accountsc_allowance

id  int(11)

 emp_id int(11)

allowance decimal(9,2)

日付 日付

のテーブル構造pb_accountsc_allowancearchive_accountsc_allowance

id  int(11)

 emp_id int(11)

allowance decimal(9,2)

日付 日付

の構造archive_accountscompensationpb_accountsc_allowance

 id  int(11)

 emp_id int(11)

 amount  int(11)

 approved_by varchar(75)

 detail  varchar(100)

 date   date
4

1 に答える 1

0

「あいまいな列参照」は、SELECTとINSERTが同じテーブルまたはフィールド名を参照している場合に問題を引き起こす可能性があります。エイリアスを使用してみてください

于 2012-10-12T11:58:51.567 に答える