1

Тема: Как обновить базу

Помогите пожалуйста обновить базу MySQL. Был создан дамп  с INSERT. Что нужно поменять в файле чтобы пошло обновление а не вставка с созданием новой базы и таблиц

2

Re: Как обновить базу

Gandalf
Поменять в файле дампа можно, но очень аккуратно. Следует заменить все INSERT на REPLACE и убрать запросы на создание таблиц (CREATE TABLE).

Перед импортом сохраняйте текущее состояние БД в дамп, чтобы было к чему откатить при возникновении ошибки, или других проблем.

3

Re: Как обновить базу

После замены вот что выдает:
SQL-запрос:

-- phpMyAdmin SQL Dump
-- version 2.11.9.2
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Апр 02 2009 г., 17:23
-- Версия сервера: 4.0.27
-- Версия PHP: 5.2.3
/ -- --------------------------------------------------------
--
-- Структура таблицы `dle_banned`
--
REPLACE TABLE `dle_banned` (
`id` smallint( 5 ) NOT NULL
AUTO_INCREMENT ,
`users_id` mediumint( 8 ) NOT NULL default '0',
`descr` text NOT NULL ,
`date` varchar( 15 ) NOT NULL default '',
`days` smallint( 4 ) NOT NULL default '0',
`ip` varchar( 50 ) NOT NULL default '',

PRIMARY KEY ( `id` ) ,

KEY `user_id` ( `users_id` )
)
TYPE =
MYISAM AUTO_INCREMENT =1;



Ответ MySQL: 
#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '/

REPLACE TABLE `dle_banned` (
  `id` smallint(5) NOT NULL a

4

Re: Как обновить базу

Возникла ошибка!
Неправильный запрос.
Too big column length for column 'text' (max = 255). Use BLOB instead (256)


Что это такое и как решается???

5

Re: Как обновить базу

Gandalf
По первой ошибке: там лишняя косая черта.

По второй: надо определить какое именно поле и в какой таблице имеет значение превышающее то, что определено по типу.
Например varchar(15) - означает, что поле может содержать не более 15 символов.