Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день,
имеется набор запросов вот такого вида:
INSERT INTO archivio
(`indice`, `protocollo`, `titolo`, `titoloSupporto`, `autore`, `catalogo`, `secondi`, `sequenza`, `supporto`, `nazione`, `anno`, `formato`, `colore`, `sonoro`, `lingua`, `sottotitoli`, `argomento`, `commenti`, `revisioneDati`, `revisioneScheda`, `revisioneDGT`, `revisioneOfficine`, `allegati`, `file`, `pdf`, `pubblicare`, `pdfPagine`, `tracceaudio`, `traccesottotitoli`)
VALUES
(1, 'F1De1', 'Meshes of the Afternoon', '', 'Deren Maya', 'A', 873, 0, 'F1De1', 'USA', '1943', 'Film', 'b/n', 'muto', '', '', '', '', 'No', 'No', 'No', 'No', 0, '', '', 1, , , );
Никак не могу понять как можно импортировать просто запятые: , , ); ???
Это что за тип данных? INT ?
Предположил что таблица могла бы иметь такую структуру:
CREATE TABLE IF NOT EXISTS archivio (
`indice` int(11),
`protocollo` text,
`titolo` text,
`titoloSupporto` text,
`autore` text,
`catalogo` text,
`secondi` int(11),
`sequenza` int(11),
`supporto` text,
`nazione` text,
`anno` text,
`formato` text,
`colore` text,
`sonoro` text,
`lingua` text,
`sottotitoli` text,
`argomento` text,
`commenti` text,
`revisioneDati` text,
`revisioneScheda` text,
`revisioneDGT` text,
`revisioneOfficine` text,
`allegati` int(11),
`file` text,
`pdf` text,
`pubblicare` int(11) ,
`pdfPagine` int(11),
`tracceaudio` int(11) ,
`traccesottotitoli` int(11)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
Но импортровать не получается (как и следовало ожидать), ошибка:
#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 ')' at line 4
Подскажите если кто знает!
Спасибо.
Неактивен
Это не странный формат, это ошибочный запрос. Такое обычно случается, когда php скрипт, генерирующий запрос, теряет переменные.
Откуда эти запросы?
Неактивен
Это строка из дампа базы видеотеки.
Есть только данные, но нет структуры
Неактивен
Тогда в надежде на здравый смысл разработчиков по названию поля предполагаете тип данных. Например, как вы написали
`pdfPagine` int(11),
`tracceaudio` int(11) ,
`traccesottotitoli` int(11)
И догадываетесь о том, какие значения по умолчанию там должны быть. Например, 0. И парсите ваш дамп, добавляю в нужные места нули.
Но лучше сосредоточить усилия на получении правильного дампа со структурой.
Неактивен
Понятно....
Дело в том что те кто предоставил этот дамп утверждают что сам дамп, формат и представление данных - все правильно и корректно!
Это-то меня и ввело в заблужденние, т.к. никогда раньше с таким представлением не встречался...
Потерял 2 часа на поиски описания этого корректного формата в гугле ничего не нашел и потом написал вам.
Возвращаясь к теме: вариант отпарсить дамп понятен,
но Вы считаете что запросы не корректны? нет такого стандарта на каком-нибудь диалекте *SQL ?
Неактивен
enot написал:
Понятно....
Дело в том что те кто предоставил этот дамп утверждают что сам дамп, формат и представление данных - все правильно и корректно!
Боюсь, обманывают . Если корректно - предложите им на месте сразу полученный дамп импортировать. Тут и будет видно, что дамп некорректный.
enot написал:
Возвращаясь к теме: вариант отпарсить дамп понятен,
но Вы считаете что запросы не корректны? нет такого стандарта на каком-нибудь диалекте *SQL ?
Да, запросы некорректны.
VALUES (1, 'F1De1', 'Meshes of the Afternoon', '', 'Deren Maya', 'A', 873, 0, 'F1De1', 'USA', '1943', 'Film', 'b/n', 'muto', '', '', '', '', 'No', 'No', 'No', 'No', 0, '', '', 1, , , );
Перечисление запятых в конце после единички - явная ошибка, по синтаксису sql такого не может быть.
Попросите, если есть возможность, чтобы дамп сделали с помощью именно mysqldump.
Неактивен
Все ясно, вопросов больше нет.
Спасибо большое за помощь!
Неактивен