0
Ich versuche, diese Abfrage auszuführen:INSERT INTO ... ON KEY UPDATE DUPLICATE nicht ordnungsgemäß funktioniert
protected function store_credentials($config_file_path = 'envato_credentials_config.json') {
$credentials_config = $this->get_envato_config($config_file_path);
$sql = "INSERT INTO credentials (api_key, username, last_update) VALUES (?, ?, NOW()) ON DUPLICATE KEY UPDATE api_key = values(api_key), username = values(username), last_update = values(last_update)";
if ($stmt = $this->connect->prepare($sql)) {
$stmt->bind_param('ss', $credentials_config['API'], $credentials_config['User']);
$stmt->execute();
$stmt->close();
} else {
return false;
}
}
Aber was passiert, ist, dass ich immer doppelte Einträge erhalten, wenn es ausgeführt ist, wenn es wieder ausgeführt ist, Anstatt es zu aktualisieren, wird es erneut ausgeführt, indem zwei weitere Einträge hinzugefügt werden. Warum passiert das?
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html –
und auch, ID muss nicht automatisch inkrementieren Primärschlüssel;) – hjpotter92
Oh, weil es automatisch ist -increment, also sollte ich es auf PRIMARY KEY oder UNIQUE setzen, aber nicht automatisch inkrementieren? – Roland