I write a lot of Perl scripts that interact with MySQL databases. When
inserting anything into a non-numeric field, I always pre-process the data
with:
$data =~ s/'/\\'/g;
The single quote is used by MySQL as a field delimiter, so it needs to be
escaped. I've never had trouble with any other characters.
Rob
On Tue, 28 Jan 2014, Cowboy wrote:
A conversion project. ( hopefully, just a task )
Not specifically Rivendell, but maybe one or two of you have
run into a similar "problem" ?
I need a way to extract a value, a single table entry, from
one table, and copy/move/insert/update/replace ( whichever is
appropriate. My lack of understanding ) into another table, into
another column, preferably by bash script.
There are "more than a few" table entries to deal with. ;)
These table entries may be a number, may be text.
I fear the text entries may create a delimiter problem.
So far, with everything I've tried, the text entries ( of
random length and content ) have created delimiter issues.
Some them contain single quotes, some contain double quotes.
Some contain colons, and some semi-colons. Some contain
backslashes, etc. So far, none contain certain characters that
may be delimiter candidates, such as a vertical bar.
Assume I can find a suitable delimiter.
Unfortunately, with what I've tried, things like catenate the last
column, ignoring delimiters, works for text in the last column,
but some tables have another column after the text, so that doesn't
always work so pretty good.
With thousands of table entries to move/copy something like
PHPAdmin or SIDU is impractical.
Tried several things.
Exporting a table as a spreadsheet, working on that, followed
by importing the spreadsheet. Works sometimes.
Columns containing zeros seem to cause various issues, like
being ignored, so the following column ends up in the wrong place,
or creating a null entry where a zero should be.
Preferably, a "simple" loop, that can do something like
for column A "has any entry at all" in table B do;
copy column C to table D column E.
done
In some cases
where column A LIKE "something" AND column B LIKE "something else"
copy column D into table Y column E
Just seeking a relatively simple, generic loop, and I'll hack the details.
Prefer BASH script. Can work with a PHP loop if absolutely necessary.
Suggestions ?
Since this isn't Rivendell ( but you go where you can find the best
expertise ) off list is fine.
Thanks...
--
Cowboy
http://cowboy.cwf1.com
So, what's with this guy Gideon, anyway? And why can't he ever
remember his Bible?
_______________________________________________
Rivendell-dev mailing list
[email protected]
http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
_______________________________________________
Rivendell-dev mailing list
[email protected]
http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev