Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> ON DUPLICATE KEY UPDATE обнуляет поля?
Владимир55  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Любопытный
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 920
Пользователь №: 27293
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: -1




Имеется такой запрос:

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


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

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

Это нормально?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
DedMorozzz  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Эникейщик
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 4053
Пользователь №: 19498
На форуме: 7 лет, 1 месяц, 13 дней
Карма: 89




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


--------------------
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5497
Пользователь №: 35718
На форуме: 4 года, 21 день
Карма: 167




ip - это уникальное поле?


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14980
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 4 дня
Карма: 444




Владимир55, покажи, как сделана таблица (команду на ее создание).


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

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

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

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Владимир55  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Любопытный
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 920
Пользователь №: 27293
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: -1




Таблица создавалась так:
		$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>";


PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
DedMorozzz  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Эникейщик
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 4053
Пользователь №: 19498
На форуме: 7 лет, 1 месяц, 13 дней
Карма: 89




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


--------------------
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Владимир55  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Любопытный
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 920
Пользователь №: 27293
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: -1




Цитата (DedMorozzz @ 9.03.2016 - 09:15)
не NOT NULL уник поле. Если оно не указано, то null != null в мускуле. Создаст ещё 1 запись

Спасибо, учел!
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса