誰かが2つのテーブルでインデックス付けされたIDを送信した場合に、あるテーブルから別のテーブルにデータを挿入できるかどうかを調べようとしています。
例えば:
私は表Aを持っています: ID | First Name | Last Name | Course
表Bには次のものがあります。 ID | Name | Course
表Aにはデータがあります。 32 | John | Doe | IT
また、テーブルBは、ユーザーが入力するフォームからデータを受け取ります。
ユーザーがフォームに#32を入力し、テーブルA ID列でインデックス付けされている場合、テーブルAの名と姓の列をテーブルBに自動的に挿入するにはどうすればよいですか?
名前の値に通常の[挿入]と[テーブル列の選択]を使用しようとしていますが、読み取られないようです。
$upload = "INSERT INTO `TableB` ( `ID`, `Name`, `Course`) VALUES ('$id','(SELECT FirstName FROM TableA WHERE ID = '$borrow_id'),' '$course');";
送信されたフォームからIDを選択できるのではないかと考えていました。表Aに同様のデータがある場合は、そこから他のデータを取得して表Bに挿入します。
あなたの論理はほとんどそこにあります、あなたはちょうど構文を間違えました。INSERT..SELECT
TableBでステートメントを使用して、TableAから必要なデータを選択できるため、次のようになります。
<?php
$upload = "INSERT INTO `TableB` ( `ID`, `Name`, `Course`) SELECT $id, FirstName, $course FROM TableA WHERE ID = '$borrow_id;";
テストするにSELECT
は、クエリの一部をコピーしてデータベースで実行し、データが正しいかどうかを確認します。このステートメントには、挿入に正確な列数が含まれ、同じ順序である必要があることに注意してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加