我的问题是,即使我使用简单的INSERT INTO
查询,我的数据库中的特定表也会更新数据,而不是给我一个" Duplicate"如果主键已存在则出错。
表的结构:
user_id (PRIMARY_KEY) | email (VARCHAR) | token (VARCHAR) | created (DATETIME)
如果我执行此操作:
$sql = "INSERT INTO
email_confirmation (
user_id,
email,
token,
created
) VALUES (
:user_id,
:email,
:token,
NOW()
)";
$query = $this->connection->prepare($sql);
$values = [
':user_id' => $customer['id'],
':email' => $customer['email'],
':token' => $token
];
$query->execute($values);
如果主键已经存在,它将更新我的行,而不是给我一个错误。有谁能解释我为什么会这样?