SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 14.02.2014 16:11:25

enot
Участник
Зарегистрирован: 13.02.2010
Сообщений: 12

Как импортировать данные? Странный формат INSERT

Добрый день,
имеется набор запросов вот такого вида:

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

Подскажите если кто знает!
Спасибо.

Неактивен

 

#2 14.02.2014 16:31:04

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как импортировать данные? Странный формат INSERT

Это не странный формат, это ошибочный запрос. Такое обычно случается, когда php скрипт, генерирующий запрос, теряет переменные.
Откуда эти запросы?

Неактивен

 

#3 14.02.2014 16:50:43

enot
Участник
Зарегистрирован: 13.02.2010
Сообщений: 12

Re: Как импортировать данные? Странный формат INSERT

Это строка из дампа базы видеотеки.
Есть только данные, но нет структуры

Неактивен

 

#4 14.02.2014 16:56:55

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Как импортировать данные? Странный формат INSERT

Тогда в надежде на здравый смысл разработчиков по названию поля предполагаете тип данных. Например, как вы написали
`pdfPagine` int(11),       
          `tracceaudio` int(11) ,   
          `traccesottotitoli` int(11)

И догадываетесь о том, какие значения по умолчанию там должны быть. Например, 0. И парсите ваш дамп, добавляю в нужные места нули.

Но лучше сосредоточить усилия на получении правильного дампа со структурой.

Неактивен

 

#5 14.02.2014 17:13:08

enot
Участник
Зарегистрирован: 13.02.2010
Сообщений: 12

Re: Как импортировать данные? Странный формат INSERT

Понятно....
Дело в том что те кто предоставил этот дамп утверждают что сам дамп, формат и представление данных - все правильно и  корректно!
Это-то меня и ввело в заблужденние, т.к. никогда раньше с таким представлением не встречался...
Потерял 2 часа на поиски описания этого корректного формата в гугле ничего не нашел и потом написал вам.

Возвращаясь к теме: вариант отпарсить дамп понятен,
но Вы считаете что запросы не корректны? нет такого стандарта на каком-нибудь диалекте *SQL ?

Неактивен

 

#6 14.02.2014 17:26:20

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Как импортировать данные? Странный формат INSERT

enot написал:

Понятно....
Дело в том что те кто предоставил этот дамп утверждают что сам дамп, формат и представление данных - все правильно и  корректно!

Боюсь, обманывают smile. Если корректно - предложите им на месте сразу полученный дамп импортировать. Тут и будет видно, что дамп некорректный.

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.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#7 14.02.2014 17:37:37

enot
Участник
Зарегистрирован: 13.02.2010
Сообщений: 12

Re: Как импортировать данные? Странный формат INSERT

Все ясно, вопросов больше нет.

Спасибо большое за помощь!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson