Помогите привести базу к данному вид

Тема в разделе "Базы данных", создана пользователем Tolian-Rastaman, 10 дек 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Tolian-Rastaman

    Tolian-Rastaman Постоялец

    Регистр.:
    24 янв 2008
    Сообщения:
    108
    Симпатии:
    6
    Помогите решить задачку:
    Есть текстовый файл такого формата

    Иванов|Петров
    Иван|Петр
    Ваня|Петя

    Требуется привести его к такому виду

    INSERT INTO `name` VALUES(1, 'Иванов|Петров');
    INSERT INTO `name` VALUES(2, 'Иван|Петр');
    INSERT INTO `name` VALUES(2, 'Ваня|Петя');

    Строк очень много так что ручками никак
    Подскажите редактор и порядок действий или msql запрос.:bc:
     
  2. mrbright

    mrbright Создатель

    Регистр.:
    18 ноя 2009
    Сообщения:
    31
    Симпатии:
    3
    Простите, а можно по подробней, Вам нужно взять один текстовый файл и получить другой *.sql? Это нужно делать веб-скриптом или подойдет отдельная программа?
    Кстати, возник вопрос по корректности SQL-запросов, приведенных в вашем примере. Сравните с ситаксисом и примерами
    тут.
     
  3. Yozik

    Yozik

    Регистр.:
    5 дек 2007
    Сообщения:
    239
    Симпатии:
    65
    Два одинаковых id, если это не опечатка, приведёт, как минимум, к ошибке импорта в базу.

     
  4. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Если id автоинкремент стоит, тогда в любом нормальном текстовом редакторе (я например юзаю editplus) делаешь так:
    Заменяешь регуляркой

    Код:
    ^(.+)$
    на
    Код:
    INSERT INTO `name` (name) VALUES( '\1');
    Просто если id автоинкремент, то его можно не указывать при вставке.
     
  5. zerdek

    zerdek

    Регистр.:
    29 ноя 2007
    Сообщения:
    346
    Симпатии:
    50
    тоже все время делал регулярками, а сейчас обленился :)
    простые данные затаскиваю через импорт в navicat-е, довольно удобно.
     
  6. Tolian-Rastaman

    Tolian-Rastaman Постоялец

    Регистр.:
    24 янв 2008
    Сообщения:
    108
    Симпатии:
    6
    Спасибо за дельные советы, а id случайно поставил одинаковые. :ay:
     
Статус темы:
Закрыта.