1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

mySQL INSERT unter BashScript klappt einfach nicht ??

Dieses Thema im Forum "SQL - Structured Query Language" wurde erstellt von codeinator, 8. September 2017.

  1. codeinator

    codeinator New Member

    Hallo wusste jetzt nicht ob ich den Beitrag unter Bash oder SQL posten soll hoffe das es hier richtig ist.

    ich habe eine CSV datei, mit Hilfe eines Bash-Scripts eingelessen wird, und dann per mySQL INSERT INTO befehl in die datenbank geschrieben werden soll, aber leider bekomme ich keinen funktionierenden SQL QUERY hin bzw. erhalte immer nur die Fehlermeldung ERROR 1064 ???
    hier mal der CODE

    Code:
    #!/bin/bash
    PWD=`pwd`
    while IFS="|" read linkhash link text1 text2 datum rubid
        do
        echo "Daten gelanden"
        #echo $linkhash
        #echo $link
        #echo $text1
        #echo $test2
        #echo $datum
        #echo $rubid
    
    mysql -u root --password="123456789" << EOF
    use joomla_db;
    INSERT INTO `xd5vq_content` (`id`, `asset_id`, `title`, `linkhash`, `alias`, `introtext`, `fulltext`, `state`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`, `featured`, `language`, `xreference`) VALUES (NULL, '99', 'Test', '$linkhash', '', 'Test', '', '1', '$rubid', '2017-09-08 00:00:00', '0', '', '2017-09-08 00:00:00', '0', '0', '2017-09-08 00:00:00', '2017-09-08 00:00:00', '2017-09-08 00:00:00', '', 'URL', '', '1', '0', '', '', '0', '0', '', '0', '*', '')
    EOF
    done < $PWD/data/temp_sql.csv
    
    habe den QUERY auch schon ohne die anführungsyeichen geschrieben leider ohne erfolg ???

    Code:
    INSERT INTO `xd5vq_content` (id,asset_id, title, linkhash, alias, introtext, fulltext, state, catid, created, created_by, created_by_alias, modified, modified_by, checked_out, checked_out_time, publish_up, publish_down, images, urls, attribs, version, ordering, metakey, metadesc, access, hits, metadata, featured, language, xreference) VALUES ('NULL', '99', '$text1', '$linkhash', '', '$test2', '', '1', '$rubid', '2017-09-08 00:00:00', '0', '', '2017-09-08 00:00:00', '0', '0', '2017-09-08 00:00:00', '2017-09-08 00:00:00', '2017-09-08 00:00:00', '', '$link', '', '1', '0', '', '', '0', '0', '', '0', '*', '');
    Kann es vielleicht an der Länge liegen ?? das Merkwürdige ist das der erste Query in phpmysql funktioniert??

    zur info ich nutze die
    MySQL Server version: 5.7.19
  2. lano

    lano Well-Known Member c-b Experte

    Code:
    #!/bin/bash
    
    PWD=`pwd`
    while IFS="|" READ linkhash link text1 text2 datum rubid
    do
        echo "INSERT INTO xd5vq_content (id,asset_id,title,linkhash,alias,introtext,fulltext,state,catid,created,created_by,created_by_alias,modified,modified_by,checked_out,checked_out_time,publish_up,publish_down,images,urls,attribs,version,ordering,metakey,metadesc,access,hits,metadata,featured,language,xreference) VALUES (NULL, '99', 'Test', '$linkhash', '', 'Test', '', '1', '$rubid', '2017-09-08 00:00:00', '0', '', '2017-09-08 00:00:00', '0', '0', '2017-09-08 00:00:00', '2017-09-08 00:00:00', '2017-09-08 00:00:00', '', 'URL', '', '1', '0', '', '', '0', '0', '', '0', '*', '');"
    done < $PWD/DATA/temp_sql.csv | mysql -u root -p "123456789" joomla_db;
    [/php]
  3. codeinator

    codeinator New Member

    Hallo Iano,
    habe es jetzt schon hinbekommen habe das ganze über eine Kurzschreibweise gemacht,

    Code:
    INSERT INTO xd5vq_content VALUES (NULL, '121', '$text1', '$linkhash', '', '$text2', '', '1', '$rubid', '$datum', '0', '', '$datum', '43', '0', '$datum', '$datum', '2020-03-05 17:16:10', '', '$link', '', '1', NULL, '', '', '1', NULL, '', '0', '*', '');
    
    werde dein vorschlage mal bei Zeiten testen, danke aber fuer deine Hilfe