0
Я пытаюсь запустить этот запрос:INSERT INTO ... дублирование KEY UPDATE не работает должным образом
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;
}
}
Но что происходит, что я всегда получаю повторяющиеся записи, когда он выполняется, если он снова выполняется, вместо обновления он снова запускает добавление еще двух записей. Почему это происходит?
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html –
а также, идентификатор не должен быть автоматически увеличивающимся первичным ключом;) – hjpotter92
О, потому что это автоматический -increment, поэтому я должен установить его в PRIMARY KEY или UNIQUE, но не в автоматическом приращении? – Roland