简体   繁体   English

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

[英]Insert first value from a table to another table Mysql PHP

I have a table with column x and column ID. 我有一个带有列x和列ID的表。 I am trying to get the first value from column x and insert it into column y from table b. 我试图从x列中获取第一个值,并将其插入表b中的y列中。

here is what I have done and it doesn't work: 这是我做过的,但是不起作用:

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

Also when I delete a value from table a column x I have to update the value from table b column y with previous value from table a. 同样,当我从表a的列x中删除值时,我也必须使用表a的先前值更新表b列y中的值。

Try with SELECT INTO : 尝试使用SELECT INTO

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

In PHP: 在PHP中:

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

use ORDER BY id ASC LIMIT 1 instead of instead of MIN : 使用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')");

or with single query: 或使用单个查询:

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

What your a doing is copying data from one table to another. 您所做的就是将数据从一个表复制到另一个表。 There is no need for fetching the date first and then inserting it. 无需先获取日期然后再插入日期。

Use the INSERT .. SELECT syntax. 使用INSERT .. SELECT语法。

try it this way 这样尝试

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM