diff options
author | Erich Eckner <git@eckner.net> | 2019-10-13 20:35:32 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2019-10-13 20:35:32 +0200 |
commit | 8f556086ff0d0c834b5f2fb11e75ab5aedef9b52 (patch) | |
tree | b791bddd6eaa38b1d8e7a44f2e9e192fd91ed1b8 | |
parent | aadf74caa0f2ec402aba5529e58a8a1c2d30c64e (diff) | |
download | Schraubendatenbank-8f556086ff0d0c834b5f2fb11e75ab5aedef9b52.tar.xz |
neue-Kategorie: mehrere Einträge auf ein Mal einfügbar
-rwxr-xr-x | neue-Kategorie | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/neue-Kategorie b/neue-Kategorie index 8de4e1b..3b8433c 100755 --- a/neue-Kategorie +++ b/neue-Kategorie @@ -1,7 +1,7 @@ #!/bin/bash -if [ $# -ne 2 ]; then - >&2 echo "$0"' $Kategorie $Eintrag' +if [ $# -lt 2 ]; then + >&2 echo "$0"' $Kategorie $Eintrag1 $Eintrag2 ...' exit 1 fi @@ -10,21 +10,27 @@ Kategorien['Kopf']='Koepfe' Kategorien['Gewindetyp']='Gewindetypen' Kategorien['Material']='Materialien' -if [ -z "${Kategorien["$1"]}" ]; then - >&2 printf 'unbekannte Kategorie %s, ich kenne:\n' "${1}" +Kategorie="$1" +shift + +if [ -z "${Kategorien["${Kategorie}"]}" ]; then + >&2 printf 'unbekannte Kategorie %s, ich kenne:\n' "${Kategorie}" >&2 printf '%s\n' "${!Kategorien[@]}" exit 2 fi { - printf 'INSERT IGNORE INTO `%s`' "${Kategorien["$1"]}" + printf 'INSERT IGNORE INTO `%s`' "${Kategorien["${Kategorie}"]}" printf ' (`name`)' - printf ' VALUES (' - printf 'FROM_BASE64("' - printf '%s' "$2" \ - | base64 -w0 - printf '")' - printf ');\n' + printf ' VALUES' + for Eintrag in "$@"; do + printf ',(FROM_BASE64("' + printf '%s' "${Eintrag}" \ + | base64 -w0 + printf '"))' + done \ + | sed 's@^,@ @' + printf ';\n' } \ | mysql \ && echo 'ok' |