插入选择并添加另一个值


INSERT SELECT with another value added

<form method="POST">
<input type="submit" name="submit" value="submit" />
<?php
if (isset($_POST['submit']))
    {      
    include '_includes/db.php';
     mysql_query("INSERT INTO `en_stud` (en_subj, en_desc, en_code) 
     SELECT subj_code, subj_name, subj_deg FROM `subjects` WHERE subj_deg='PREP'"); 
            }
?>
</form>

嗨,好的,所以我为此使用了 INSERT SELECT,以便在数据库中插入所有用于准备的常规主题,但是如果我想添加一些东西怎么办。喜欢

添加

输入框和另一个值分隔到选择表命令中,我如何能够在那里添加它?

<form method="POST">
    <input type="text" name="f" value="1"
    <input type="submit" name="submit" value="submit" />
    <?php
    if (isset($_POST['submit']))
        {      
        include '_includes/db.php';
            $f = "$_POST['f']";
         mysql_query("INSERT INTO `en_stud` (en_fname, en_subj, en_desc, en_code) 
         SELECT subj_code, subj_name, subj_deg FROM `subjects` WHERE subj_deg='PREP'"); 
                }

    ?>
    </form>

如您所见,"en_fname"没有任何相应的值,这是否有任何相应的代码来使其工作?

<?php
if (isset($_POST['submit']))
    {      
    include '_includes/db.php';
        $f = "$_POST['f']";
     mysql_query("INSERT INTO `en_stud` (en_fname, en_subj, en_desc, en_code) VALUES ('$f')
     SELECT subj_code, subj_name, subj_deg FROM `subjects` WHERE subj_deg='PREP'"); 
            }

?>
</form>

尝试使用

mysql_query("INSERT INTO `en_stud` (en_fname, en_subj, en_desc, en_code) 
     SELECT '$f', subj_code, subj_name, subj_deg FROM `subjects` WHERE subj_deg='PREP'"); 

基本上,您必须将所有值放在SELECT列表中。因此,与其尝试将自己的值与选择值联接,不如将其他值放在选择列表中。它们是恒定的,所以就像

Select 1,2,'three', some_field FROM some_table