arb*_*bme 15 mysql select insert
我试图在同一个表中插入2行.第一个将从select输入数据,第二个将使用vars作为数据.我能够插入第一行但无法插入多行.
$ partner_id用于将行相互链接.为此我在php中使用生成的32char值.无论如何将edit_partner_id设置为mysql作为插入的第一行的id,或者这是不可能的,因为必须先创建第一行才能获得最后一个id?
是否有可能还添加更新或我是否必须在单独的查询中运行此更新?
$sql = "INSERT INTO edits_customers (customer_id, creator_id, firstname, surname,
house_no, address_1, address_2, address_3, city, county, postcode,
country, email, home_tel, mobile_tel, work_tel, notes, edit_type,
edit_partner_id )
(SELECT *, 'before', '{$partner_id}' FROM customers WHERE customers.id = 123),
('{$var1}', '{$var2}', '', '', '', '', '', '', '', '', '', '', '', '', '', '',
'', 'after', $partner_id)";
Run Code Online (Sandbox Code Playgroud)
谢谢
Eri*_*off 28
如果我正确理解你的问题,你试图从另一个表中插入一些数据和你自己提供的一些数据,你应该可以使用UNION做这样的事情:
INSERT INTO SomeTable ( Col1, Col2, Col3 )
SELECT Val1, Val2, Val3 FROM SomeOtherTable
UNION
SELECT 'MyProvidedVal1', 'MyProvidedVal2', 'MyProvidedVal3'
Run Code Online (Sandbox Code Playgroud)
希望有帮助......
| 归档时间: |
|
| 查看次数: |
24554 次 |
| 最近记录: |