summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-10-13 20:35:32 +0200
committerErich Eckner <git@eckner.net>2019-10-13 20:35:32 +0200
commit8f556086ff0d0c834b5f2fb11e75ab5aedef9b52 (patch)
treeb791bddd6eaa38b1d8e7a44f2e9e192fd91ed1b8
parentaadf74caa0f2ec402aba5529e58a8a1c2d30c64e (diff)
downloadSchraubendatenbank-8f556086ff0d0c834b5f2fb11e75ab5aedef9b52.tar.xz
neue-Kategorie: mehrere Einträge auf ein Mal einfügbar
-rwxr-xr-xneue-Kategorie28
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'