2017-09-21 136 views
-1

试图将employee_id列中的所有数据从staff表中删除,INSERT列中的employee_id列在employees表中。重复键错误MySQL

我收到重复项的重要错误。我试过使用REPLACE INTOIGNORE INTO。该脚本仅影响employees表的第一行,并插入employee_id,但将所有其他字段更改为空。

require 'config.php'; 

$sql = "INSERT INTO employees (employee_id) SELECT employee_id FROM staff"; 

if ($mysqli->query($sql) === TRUE) { 
    echo "New records created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . $mysqli->error; 
} 
+0

员工表是空的吗? – rtfm

+0

不,员工表在每个字段中都有数据,除了“employee_id” –

+1

,那么您需要更新查询,而不是插入 – rtfm

回答

0

如果只读属性你申请你的插入查询是“雇员标识”和你正在用插入重复键错误/忽略和替换,然后EMPLOYEE_ID不是雇员表的主键,别的东西被定义为主键(或唯一索引)。如果你提供了表格结构,这将是显而易见的。

+0

所以插入不工作,因为“employee_id”是一个表中的主键,但不是另一个表中的主键?是否可以在不改变表格结构的情况下解决这个问题? –

+0

如果不知道更多信息,则无法回答,这些信息不适用于此处的讨论。假设“否” – symcbean