[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ON DUPLICATE KEY UPDATE делает только INSERT INTO
okapo
Не могу понять в чем ошибка? ничего не обнавляется, только добавляется строчки в базе

INSERT INTO `".DB_PREFIX."_session` (`id_session`,`putdate`,`loginID`,`ip`,`browser`,`url`)
VALUES ('".session_id()."',NOW(),'".$sloginID."','".showip()."','".$_SERVER['HTTP_USER_AGENT']."','".input($_GET['s'])."')
ON DUPLICATE KEY UPDATE `putdate`=NOW(),`url`='".input($_GET['s'])."'





Спустя 53 минуты, 33 секунды (8.04.2012 - 14:19) Placido написал(а):
Значит, либо значения вставляются разные, либо ключ поля не уникальный. См. DDL таблицы (CREATE TABLE...) на предмет уникальности ключей.

Спустя 14 минут, 52 секунды (8.04.2012 - 14:34) okapo написал(а):
вот моя таблица
CREATE TABLE IF NOT EXISTS `tb_session` (
`id_session` tinytext NOT NULL,
`putdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`loginID` int(11) NOT NULL,
`ip` varchar(20) NOT NULL,
`browser` varchar(255) NOT NULL,
`url` varchar(300) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Спустя 13 минут, 36 секунд (8.04.2012 - 14:48) Placido написал(а):
Я не вижу в этой таблице уникальных ключей. Например, можно исправить так:
ALTER TABLE`tb_session` 
MODIFY `id_session` VARCHAR(255) UNIQUE KEY NOT NULL;


---
Или при создании таблицы поле id_session можно сделать первичным (или уникальным) ключом.
...`id_session` VARCHAR(255) PRIMARY KEY,...

Спустя 59 минут, 4 секунды (8.04.2012 - 15:47) okapo написал(а):
2ой способ поставил, спасибо работает
Быстрый ответ:

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