45 lines
662 B
Bash
45 lines
662 B
Bash
#!/bin/bash
|
|
InsertIfUnset() {
|
|
#InsertIfUnset table [no_id] < key value \n key value
|
|
local \
|
|
table="$1" \
|
|
no_id="${2:-0}" \
|
|
column \
|
|
key \
|
|
keys \
|
|
results \
|
|
value \
|
|
values
|
|
while read key value
|
|
do
|
|
keys+=( "$key" )
|
|
values+=( "$value" )
|
|
done
|
|
if (( no_id ))
|
|
then
|
|
column="${keys[0]}"
|
|
else
|
|
column='id'
|
|
fi
|
|
if ! results=$(
|
|
Select "$table" "$column" < <(
|
|
for key in ${!keys[@]}
|
|
do
|
|
echo "${keys[$key]}" = \
|
|
"${values[$key]//::AtOM:FT::}"
|
|
done
|
|
)
|
|
)
|
|
then
|
|
results=$(
|
|
Insert "$table" < <(
|
|
for key in ${!keys[@]}
|
|
do
|
|
echo "${keys[$key]}" "${values[$key]}"
|
|
done
|
|
)
|
|
)
|
|
fi
|
|
echo "$results"
|
|
}
|