#!/bin/bash
Insert() {
#Insert table [no_id] <	key value
#			[key value
#			[…]]
	local			\
		table="$1"	\
		no_id="${2:-0}"	\
		insert_keys	\
		insert_values	\
		results
	while read key value
	do
		(( ${#insert_keys} )) && insert_keys+=","
		insert_keys+='`'"$key"'`'
		(( ${#insert_values} )) && insert_values+=","
		case $value in
			'::AtOM:FT::'*)
				value="${value//::AtOM:FT::/}"
				insert_values+='"'"${value//\"/\"\"}"'"'
			;;
			'NULL')
				insert_values+="NULL"
			;;
			+([0-9])?(.+([0-9])))
				insert_values+=$value
			;;
			*)
				value=${value//::AtOM:NewLine:SQL:Inline::/$'\n'}
				insert_values+='"'"${value//\"/\"\"}"'"'
			;;
		esac
	done
	echo	"INSERT INTO $table"				\
				"( $insert_keys )"		\
			"VALUES"				\
				"( $insert_values );" >&3
	(( no_id )) || {
		echo 'SELECT LAST_INSERT_ROWID();' >&3
		read -u4 -r -d $'\0' results
		echo "$results"
	}
}
