Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по INSERT в таблицу

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Вот столкнулся с задачей
Djin_dj
Отправлено: 23 Ноября, 2009 - 14:58:20
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Июнь 2008  
Откуда: Россия


Помог: 0 раз(а)




Необходимо перед INSERT проверить есть ли записи в таблице с определенными параметрами, если есть то писать иначе ничего не делать в один запрос есессно может EXISTS или как то еще
 
 Top
Мелкий Супермодератор
Отправлено: 23 Ноября, 2009 - 15:08:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




insert ignore
если есть запись с таким ключом или уникальным полем, то она будет пропущена.

(Отредактировано автором: 23 Ноября, 2009 - 15:09:30)



-----
PostgreSQL DBA
 
 Top
Stierus Супермодератор
Отправлено: 23 Ноября, 2009 - 15:11:59
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Если сравниваются первичные ключи - то я делаю так :
"INSERT INTO `tablename` (`code`, `agent`) VALUES ('{$code}', '{$agent}') ON DUPLICATE KEY UPDATE `cnt`=`cnt`+1;"

тут при совпадении первичного ключа идет обновление поля cnt (прибавляется единица), в противном случае вставляется новая запись с дефолтными значениями cnt
 
My status
 Top
Djin_dj
Отправлено: 23 Ноября, 2009 - 15:40:24
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Июнь 2008  
Откуда: Россия


Помог: 0 раз(а)




Ну я как говорится не ищу легких путей по сему последовательно и детально что нужно!

Есть лог таблица
Table_Log
поля
ID (auto_increment) primary (int)
Type (varchar 10)
Time (varchar 14)
GID (int)

Так вот перед вставкой INSERT INTO Table_Log (Type,Time,GID) VALUES (\"$type\",\"$time\",\"$gid\") надо проверять есть ли уже запись с вставляемыми $type и $gid в таблице, если есть то ничего не делать иначе INSERT

Но я подумал что нужно с селектом походу
 
 Top
EuGen Администратор
Отправлено: 23 Ноября, 2009 - 15:41:43
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




INSERT IGNORE
учтите, что должен существовать соответствующий индекс


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Марк
Отправлено: 23 Ноября, 2009 - 22:06:06
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Нояб. 2009  
Откуда: Украина


Помог: 0 раз(а)




Люди помогите!!! Что здесь не правильно??
INSERT INTO PROBA (nik, komm )
VALUES ($_POST['nik'] ,$_POST['komm']);
пишет что ошибка в INSERT INTO PROBA (nik, komm ) этой строке. Эт я только пробую освоить MySQL. Пока безрезультатно. Хочу понять как с php скрипта добавлять в определенные строки, в базу


-----
Учись так, как будто тебе предстоит жить вечно; живи так, как будто тебе предстоит умереть завтра.
 
 Top
Viper
Отправлено: 24 Ноября, 2009 - 07:56:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Марк пишет:
Люди помогите!!! Что здесь не правильно??


CODE (text):
скопировать код в буфер обмена
  1. INSERT INTO `db_name` VALUES ('$val', '$val2', ...);


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
valenok
Отправлено: 24 Ноября, 2009 - 08:29:10
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Ты свои данные в одинраные кавычки возьми и будет тебе счастье.


-----
Truly yours, Sasha.
 
My status
 Top
Марк
Отправлено: 24 Ноября, 2009 - 09:45:54
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Нояб. 2009  
Откуда: Украина


Помог: 0 раз(а)




Оооо)) Мужики спасибо) Чуть позже попробуем))


-----
Учись так, как будто тебе предстоит жить вечно; живи так, как будто тебе предстоит умереть завтра.
 
 Top
Марк
Отправлено: 24 Ноября, 2009 - 18:22:27
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Нояб. 2009  
Откуда: Украина


Помог: 0 раз(а)




Viper пишет:
Марк пишет:
Люди помогите!!! Что здесь не правильно??


CODE (text):
скопировать код в буфер обмена
  1. INSERT INTO `db_name` VALUES ('$val', '$val2', ...);

Это что создавать массив Array и прдидавать нужные значения val?
(Добавление)
valenok пишет:
Ты свои данные в одинраные кавычки возьми и будет тебе счастье.

Не получаеться, то я там только не брал в кавычки) и вроде все правильно писал... На этом сайте читал уроки)


-----
Учись так, как будто тебе предстоит жить вечно; живи так, как будто тебе предстоит умереть завтра.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB