SQL将行从一个表复制到另一个表但只复制一次

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (176)

我正在使用此行将行从一个表复制到另一个表。

$query = "INSERT INTO edit SELECT * FROM original WHERE id = '$id'";
mysql_query($query);

我第一次运行这条线它工作正常,但如果我试图再次这样做它只是不会复制该行。我将在“编辑”表中只有一行带有该ID(即使我想将此行复制3-6次)。

有任何想法吗?

提问于
用户回答回答于

仅供将来参考。“答案”在上面的评论中。问题结果证明是一个主要问题

来自Ankit Zalani:

在第二次添加时是否存在任何约束失败。请显示错误消息。我认为主键约束失败。

通过手动在数据库中插入记录来查看主键或任何其他约束是否失败。

从我:

mysql_query函数在失败时不会停止执行,您应该在查询后打印出错误。

if(!mysql_query($query)) print "Mysql error: " . mysql_error();

扫码关注云+社区

领取腾讯云代金券