通过从另一个表中插入额外的手动数据 PHP SQL 的 SELECT 数据

Posted

技术标签:

【中文标题】通过从另一个表中插入额外的手动数据 PHP SQL 的 SELECT 数据【英文标题】:INSERT through SELECT data from another table with additional manual data PHP SQL 【发布时间】:2021-09-01 22:01:26 【问题描述】:

我正在尝试从另一个表中插入数据,它不起作用我阅读了 *** 和 w3school 上的所有线程,但基于它我的 SQL 不起作用。 我正在尝试将表中可用的所有数据一一插入pincode WHERE state = US 我认为我的代码是正确的,但它没有插入数据。我从pincode table 和其他人中选择了大约三个列,因为我在 php 的执行数组中手动​​分配了参数

请帮忙,我如何将数据从pincode 插入到table_alloted

请帮忙..

表格 = 密码

ID pin_code district state
1 123456 distname1 US
2 123457 distname2 US
3 123458 distname3 US
4 123459 distname4 US

table = table_alloted

ID pin_code district state tech_id insert_dt
1 123456 distname1 US ts12563 17-06-2021
2 123457 distname2 US ts12563 17-06-2021
3 123458 distname3 US ts12563 17-06-2021
4 123459 distname4 US ts12563 17-06-2021

代码:

$sqlInsert= $con->prepare("INSERT INTO `table_alloted` (`tech_id `, `insert_dt`, `pin_code`, `district`, `state`) VALUES(:tech_id, :my_date, (SELECT `pin_code`, `district`, `state` FROM `pincode` WHERE `state` = :state)");
$sqlInsert->execute(array(
  ':tech_id' => 'ts12563',
  ':my_date' => date('d-m-Y'),
  ':state' => 'US'
));

【问题讨论】:

插入 my_table (...) SELECT :tech_id 等... 也许使用$conn->getPdo(); 和这个:php.net/manual/en/pdo.error-handling.php 【参考方案1】:

使用下面的查询

INSERT INTO `table_alloted` (`tech_id `, `insert_dt`, `pin_code`, `district`, `state`)
SELECT :tech_id, :my_date, `pin_code`, `district`, `state` FROM `pincode` WHERE `state` = :state

我不确定您在 PHP 中的语法,但在数据库中,上述查询会起作用。

【讨论】:

【参考方案2】:

根据@Amit Verma 查询的PHP代码如下:

//Prepare statement
$sqlInsert = $con->prepare(
    "INSERT INTO `table_alloted` (`tech_id`, `insert_dt`, `pin_code`, `district`, `state`) 
    SELECT :tech_id, :my_date, `pin_code`, `district`, `state` FROM `pincode` WHERE `state` = :state"
);
//Execute insert
$sqlInsert->execute([
    ":tech_id" => "ts12563",
    ":my_date" => date("Y-m-d"),
    ":state" => "US",
]);
//Check result
$query = "SELECT * FROM `table_alloted`;";
$stmt = $pdo->prepare($query);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

print_r($rows);

PHP & mysql online playground

【讨论】:

以上是关于通过从另一个表中插入额外的手动数据 PHP SQL 的 SELECT 数据的主要内容,如果未能解决你的问题,请参考以下文章

通过从另一个表中查找某个范围内的值来游标并更新数据库记录

SSIS 错误:[执行 SQL 任务] 错误:执行查询

通过从我的数据库表中发送用户名和密码来登录 Facebook

XQuery sql Join在join不匹配时插入空节点

PLSQL程序通过从表中获取记录来添加数字[关闭]

如何使用 PHP、SQL 和 Microsoft Access 将另一个表中的 select max 函数和用户输入的变量插入表中?