简体   繁体   English

从另一个表插入一个表并在一个 SQL 代码中从变量添加值

[英]insert into a table from another table and add value from variable also in one SQL code

i am using INSERT INTO SELECT Statement Syntax to insert values from another table into my main table in my php project我正在使用INSERT INTO SELECT语句语法将另一个表中的值插入到我的 php 项目的主表中

$student_id=1; // dummy id set in a variable
include 'conndb.php';
$sql = "INSERT INTO `student_resulttbl` ( subject_name,)\n"

        . "SELECT subject,\n"

        . "FROM `subjecttbl`\n"

        . "WHERE  subject_class ='$class' AND subject_session = '2020/2021'";

It worked well but my issue is how to insert variable $student_id along with this on student_resulttbl.它运行良好,但我的问题是如何在 student_resulttbl 上插入变量 $student_id。 pls note $student_id is not coming from subjecttbl.请注意$student_id不是来自 subjecttbl。 Its set already.它已经设置好了。 Thank you谢谢

do you mean something like this?你的意思是这样的吗?

$student_id=1; // dummy id set in a variable
include 'conndb.php';
$sql = "INSERT INTO `student_resulttbl` ( student_id, subject_name,)\n"

        . "SELECT " . mysqli_real_escape_string($connection, $Student_id) . ", subject\n"

        . "FROM `subjecttbl`\n"

        . "WHERE  subject_class ='$class' AND subject_session = '2020/2021'";

but have a look at prepared statements.但看看准备好的陈述。

Is there a reason why you use newlines in SQL-Statements?在 SQL 语句中使用换行符是否有原因?

If you want to INSERT $student_id to student_resulttbl table you should do query like this:如果你想将$student_id INSERTstudent_resulttbl表中,你应该像这样查询:

INSERT INTO `student_resulttbl` ( subject_name, student_id ) VALUES ( 
(    SELECT subject FROM `subjecttbl` 
     WHERE  subject_class ='$class' 
     AND subject_session = '2020/2021'
),
$student_id);

The summary code:总结代码:

$student_id=1; // dummy id set in a variable
include 'conndb.php';
$sql = "INSERT INTO `student_resulttbl` ( subject_name, student_id ) VALUES (" 
. "(SELECT subject FROM `subjecttbl` "
. "WHERE  subject_class ='$class' "
. "AND subject_session = '2020/2021'"
. "), $student_id)";

You can INSERT multiple columns with INSERT INTO command.您可以使用INSERT INSERT INTO命令插入多个列。 More information there: w3schools.com/sql/sql_insert_into_select.asp or https://www.w3schools.com/sql/sql_insert.asp or https://www.dofactory.com/sql/insert更多信息:w3schools.com/sql/sql_insert_into_select.asp 或https://www.w3schools.com/sql/sql_insert.asphttps://www.dofactory.com/sql/insert

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM