在mysql中设置var并在新查询中使用

时间:2013-11-26 18:26:47

标签: php mysql sql

我想做这样的事情

$tagNo = 12345;
mysql_query("var = SELECT `jobNo` FROM `Jobs` WHERE `tagNo`='".$tagNo."';
INSERT INTO `Locations` (`jobNo`,`tagNo`,`name`) VALUES (var, '".$tagNo."', 'blah')");

可以这样做吗?

2 个答案:

答案 0 :(得分:0)

您无法分配这样的变量,但您可以使用INSERT...SELECT语法完全实现目标:

mysql_query("INSERT INTO `Locations` (`jobNo`, `tagNo`, `name`) 
             SELECT `jobNo`, '".$tagNo."', 'blah' FROM `Jobs` WHERE `tagNo`='".$tagNo."'");

但是,as has been explained in the comments, don't use mysql_* functions in new code

答案 1 :(得分:0)

您必须先获取查询,然后插入所需的值。 或使用插入..选择陈述。

你可以试试这个

 $tagNo = '12345';
 $var = mysql_query("SELECT `jobNo` FROM `Jobs` WHERE `tagNo`='".$tagNo."' ");
 $row = mysql_fetch_array($var) ;

  mysql_query("INSERT INTO `Locations` (`jobNo`,`tagNo`,`name`) 
                     VALUES ('".$row['jobNo']."' , '".$tagNo."', 'blah')");

但是使用mysql这是非常糟糕的主意,而是使用PDO或MYSQLI