INSERT SELECT添加了另一个值

时间:2013-07-11 07:21:43

标签: php multiple-insert

<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,以便在数据库中插入所有常规主题准备,但是如果我想添加一些东西呢。像

添加

输入框和另一个分隔成select table命令的值,我怎么能在那里添加它?

<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>

1 个答案:

答案 0 :(得分:0)

尝试

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