SQL Question
I wonder if I can write a single sql INSERT
statement to insert a row into a table where some of the fields come from variables and others come from another table. Currently I select from tableA
, store the fields in variables and then insert them into tableB
.
In the following example I'd like to get field1
, field2
, and field3
from tableA
and the rest from variables. (mysql)
$sql = "SELECT field1, field2, field3 FROM tableA where product = 5";
php code
$sql = "INSERT tableB
SET
fkey = 100,
custid = 10,
product = 5,
field1 = '$field1',
field2 = '$field2',
field3 = '$field3' ";
Yes, you just mix literal values and fields in a select and insert:
insert into tableB (fkey, custid, product, field1, field2, field3)
select 100, 10, 5, field1, field2, field3
from tableA
where product = 5
INSERT INTO tableB (fkey, custid, product, field1, field2, field3)
SELECT 100, 10, product, field1, field2, field3 FROM tableA
WHERE product = 5
You can, of course, replace constants in above statement with your variables.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With