Сообщения

Сообщения за ноября 8, 2012

Как увеличить max_allowed_packet (Linux, Debian)

Нужно увеличить максимально возможный размер SQL-файла при его выполнении на сервере? Вам нужно изменить файл: my.cnf Откройте его:  nano /etc/mysql/my.cnf Увеличить  max_allowed_packet  Найдите там [mysqld]  на следующей строке добавьте: max_allowed_packet = 64M Если такая строка уже там существует, то просто измените размер (указывается в мегабайтах). После всего вышеперечисленного просто перезагрузите mysql-сервер: /etc/init.d/mysql restart mysql, linux, debian,  max_allowed_packet  

INSERT ... ON DUPLICATE KEY UPDATE или Как вставить строку если она не существует и обновить в противном случае (MySQL)

Добрый день ) Уважаемые программисты, наверняка каждый из Вас сталкивался с проблемой вставки данных в БД, если строки не существует и обновление ее, если таковая уже есть. Как вставить данные в базу данных MySQL, если их не существует и обновить в противном случае Наверняка Вы часто использовали конструкцию типа: $result  =  mysql_query ( "SELECT `uid`, `text` FROM `t_userinfo` WHERE `uid`='". $uid ."'" ); if ( mysql_num_rows ( $result ) >0 ) { // Если строка имеется, то обновляем    mysql_query ( "UPDATE `t_userinfo` SET `text`='". $newtext ."' WHERE `uid`='". $uid ."'" ) ; } else { // Если строки нет, то добавляем новое значение в БД    mysql_query ( "INSERT INTO `t_userinfo` SET `text`='". $newtext ."',`uid`='". $uid ."'" ) ; } Немного муторно, не правда ли? И производительность немного страдает, все таки столько действий. Допустим, что эта таб