将一个表中的第一个值插入到另一个表MysqlPHP中


Insert first value from a table to another table Mysql PHP

我有一个包含列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')");

此外,当我从表a列x中删除一个值时,我必须用表a中的前一个值更新表b列y中的值。

试用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');

使用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)");

您的a所做的是将数据从一个表复制到另一个表。没有必要先提取日期,然后再插入。

使用INSERT。。SELECT语法。

这样试试

$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']."')");