[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ON DUPLICATE KEY UPDATE обнуляет поля?
Владимир55
Имеется такой запрос:

 mysql_query("INSERT INTO `time_kap` (`ip`, `uspex`)
VALUES ('
$ip', '1')
ON DUPLICATE KEY UPDATE `uspex` = '1'"
);


Но в таблице time_kap помимо полей `ip` и `uspex`, имеются и другие поля, например поле time, в которых к моменту выполнения этой операции была информация.

Но после выполнения данного запроса вся инфа в неназванных в запросе полях исчезла!

Это нормально?
DedMorozzz
нет, в случае дубля поля только указаные для апдейта поля изменяться
Вероятно у тебя вставило новую запись, не отработал дупликейт

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Valick
ip - это уникальное поле?

_____________
Стимулятор ~yoomoney - 41001303250491
sergeiss
Владимир55, покажи, как сделана таблица (команду на ее создание).

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Владимир55
Таблица создавалась так:
		$query = "CREATE TABLE time_kap
(
id INT (11) NOT NULL AUTO_INCREMENT,
ip CHAR (40),
time INT (11),
n_pokaz INT (6) default '0',
uspex INT (1) default '0',
blok INT (6) default '0',
robot INT (6) default '0',
PRIMARY KEY(id)
) COLLATE='utf8_general_ci'
ENGINE=InnoDB CHARACTER SET utf8"
;
mysql_query($query);
echo "<BR> Создана таблица time_kap ";
echo mysql_errno()." 35 : ".mysql_error()."<BR>";

$query = "ALTER TABLE time_kap ADD UNIQUE (ip)";
mysql_query($query);
echo mysql_errno()." 40 : ".mysql_error()."<BR>";


DedMorozzz
кинул бы уже "show create table time_kap"
Это 1е. А 2е - не NOT NULL уник поле. Если оно не указано, то null != null в мускуле. Создаст ещё 1 запись

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Владимир55
Цитата (DedMorozzz @ 9.03.2016 - 09:15)
не NOT NULL уник поле. Если оно не указано, то null != null в мускуле. Создаст ещё 1 запись

Спасибо, учел!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.