0

我有一个包含 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 中的值。

4

4 回答 4

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');
于 2012-09-05T07:37:13.850 回答
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)");
于 2012-09-05T07:36:38.297 回答
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']."')");
于 2012-09-05T07:41:04.827 回答
0

您所做的是将数据从一个表复制到另一个表。无需先获取日期再插入。

使用INSERT .. SELECT语法。

于 2012-09-05T07:40:04.853 回答