Reputation: 158
l have two table "member_registration" and "mebership_details" get row values from two tables using foreign key and move to another single table "existing_members", original row values to be delete.
$query=mysql_query("existing_member(member_id,member_name,dob,gender,address,city,state,phone,email,height,weight,bmi,bp,medical,image_path,joining_date,)
SELECT member_id,member_name,dob,gender,address,city,state,phone,email,height,weight,bmi,bp,medical,image_path,joining_date FROM member_registration
WHERE member_id='".$memberid."'");
$query2=mysql_query("INSERT INTO existing_member (member_type) SELECT membership_type FROM membership_details
WHERE member_id='".$memberid."'");
if($query and $query2)
{ //echo "connected";
$sql=mysql_query("DELETE FROM member_registration WHERE member_id='".$memberid."'");
$sql1=mysql_query("delete from membership_details where member_id='".$memberid."'");
echo "<script>
alert('Data Deleted Successfully');
window.location.href='close_member.php';
</script>";
}
this is my query, single query but how to execute both query to insert values from two tables into single table,
Upvotes: 0
Views: 95
Reputation: 158
suchit, i tried this code,
`<?php
ini_set('display_errors', 0);
include 'connection/db_connection.php';
$memberid=$_POST['memberid'];
$query=mysql_query("INSERT INTO existing_membe(member_id,member_name,dob,gender,address,city,state,phone,email,height,weight,bmi,bp,medical,image_path,joining_date)
SELECT member_id,member_name,dob,gender,address,city,state,phone,email,height,weight,bmi,bp,medical,image_path,joining_date FROM member_registration
WHERE member_id='".$memberid."'" );
/*
$query2=mysql_query("INSERT INTO existing_member (membership_type) SELECT membership_type FROM membership_details
WHERE member_id='".$memberid."'"); */
$query2=mysql_query("INSERT INTO existing_member (membership_type)
SELECT a.membership_type as membership_type FROM membership_details a
INNER JOIN member_registration c ON c.member_id = a.member_id, c.member_name=a.member_name
where a.member_id='".$memberid."'");
if($quer and $query2)
{
$sql=mysql_query("DELETE FROM member_registration WHERE member_id='".$memberid."'");
$sql1=mysql_query("delete from membership_details where member_id='".$memberid."'");
echo "<script>
alert('Data Deleted Successfully');
window.location.href='close_member.php';
</script>";
}
else
{
echo "User Data Already Exist";
}
?>`
Upvotes: 0
Reputation: 11859
try using something like this with join:
"INSERT INTO existing_member (member_type)
SELECT a.membership_type as member_type FROM membership_details a
INNER JOIN member_registration c ON c.member_id = a.member_id
where a.member_id='".$memberid."'"
Upvotes: 0
Reputation: 697
try writing your query like so:
INSERT INTO Table ( Column1, Column2 ) VALUES ( Value1, Value2 ), ( Value1, Value2 )
this should insert multiple records
if the table is always going to have the two values in the table and you want them in two columns you could do somthing like this:
$query2=mysql_query("INSERT INTO existing_member (member_type) VALUES (SELECT membership_type FROM membership_details WHERE member_id='".$memberid."' LIMIT 1 OFFSET 0, SELECT membership_type FROM membership_details WHERE member_id='".$memberid."' LIMIT 1 OFFSET 1)");
Just Re-Read the question:
$query2=mysql_query("INSERT INTO existing_member (member_id,member_name,dob,gender,address,city,state,phone,email,height,weight,bmi,bp,medical,image_path,joining_date) VALUES (SELECT member_id,member_name,dob,gender,address,city,state,phone,email,height,weight,bmi,bp,medical,image_path,joining_date FROM member_registration WHERE member_id='".$memberid."')");
Is this what you are after?
Upvotes: 0
Reputation: 61
You can try union
example below
insert into table1(col1, col2, col3) (
select col1 as col1, col2 as col2, col3 as col3 from table2
union
select col1 as col1, col2 as col2, col3 as col3 from table3)
careful on the id (primary key or unique) it might already exist or you can use the insert ignore
hope this will help
Upvotes: 1