我的问题是,对于我的数据库中的特定表,即使我使用简单的 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);
如果主键已经存在,它将更新我的行而不是给我一个错误 . 谁能解释我为什么会这样?