将数据从表复制到另一个没有ID的数据

时间:2019-01-12 15:12:06

标签: php mysql

我正在使用MySQL语句将数据从一个表复制到另一个表。

$sql2 = "INSERT one SELECT id, user_id, name FROM two WHERE user_id='1'";

两个表都使用相同的列:iduser_idname

我想将数据从表two复制到表one。执行脚本时,我可以看到表two中的所有数据都已复制到表one中。也是列id

我想将id表中的one保留为唯一值。我不想将id从表two复制到one。我只想复制列user_idname并想自动递增表id中的one

当我在不使用id的情况下执行脚本时,出现错误,指出onetwo中的列不相同。

有人知道我如何解决此问题并复制没有id列的数据

1 个答案:

答案 0 :(得分:3)

您可以在查询中使用以下语法:

INSERT INTO `one` (`user_id`, `name`) SELECT `user_id`, `name` FROM `two` WHERE `user_id` = 1  

WHERE语句中的SELECT子句匹配的行将被复制到表one

由于idSELECT语句中都省略了INSERT字段,因此根据自动增量值创建到one的行将得到id


我假设user_id是一个数字列(类型为intbigint ...),所以我删除了值1周围的单引号。

如果字段包含字符串(例如类型为charvarchar ...的列),则应使用引号