将表中的第一个值插入另一个表Mysql PHP

时间:2012-09-05 07:34:21

标签: php mysql

我有一个包含列x和列ID的表。我试图从列x获取第一个值并将其插入表b中的列y。

这是我所做的,它不起作用:

$val=mysql_query("SELECT x FROM table_a WHERE id=MIN(id)");
$sql=mysql_query("INSERT INTO table_b (y) VALUES('$val')");

同样,当我从表格中删除一个列x时,我必须使用表a中的先前值更新表b列y中的值。

4 个答案:

答案 0 :(得分:2)

尝试SELECT INTO

INSERT INTO table_b (y)
     SELECT MIN(table_a.id)
       FROM table_a

在PHP中:

$sql=mysql_query('INSERT INTO table_b (y) SELECT MIN(table_a.id) FROM table_a');

答案 1 :(得分:1)

使用ORDER BY id ASC LIMIT 1代替MIN

$val=mysql_query("SELECT x FROM table_a ORDER BY id ASC LIMIT 1");
$sql=mysql_query("INSERT INTO table_b (y) VALUES('$val')");

或单个查询:

$sql=mysql_query("INSERT INTO table_b (y) 
                 (SELECT x FROM table_a ORDER BY id ASC LIMIT 1)");

答案 2 :(得分:0)

您正在做的是将数据从一个表复制到另一个表。无需首先获取日期然后插入日期。

使用INSERT .. SELECT语法。

答案 3 :(得分:0)

以这种方式试试

$val=mysql_query("SELECT x FROM table_a WHERE id=MIN(id)");
$val_res = mysql_fetch_assoc($val);
$sql=mysql_query("INSERT INTO table_b (y) VALUES('".$val_res['x']."')");