This is a discussion on Can you do this in MySQL 4.1 scripting? within the MySQL forums, part of the Database Server Software category; --> Is it possible to catch an error in 4.1 scripting? I have found that whan I run a script ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Is it possible to catch an error in 4.1 scripting? I have found that whan I run a script and a line of the script cannot find a table - instead of halting the script continues to run. Is there anyway to get MySQL to halt the running of a script if an error occurs in one line? It's a little like the whole system is running with the VB 'on error resume next' running all of the time. Thank you for your help. |
| |||
| > Is it possible to catch an error in 4.1 scripting? I have found that whan I > run a script and a line of the script cannot find a table - instead of > halting > the script continues to run. Funny question. MySQL does not support multiple queries, so the only one that is aborted is all there is to abort. If you keep sending it queries without checking for errors, you specifically _ask_ it to ignore the errors. The aborted query is aborted as a whole. Every query is an all-or-nothing command. If you mean running a file in the mysql command-line client, it should not continue unless you specify the --force option. Best regards -- Willem Bogaerts Application smith Kratz B.V. http://www.kratz.nl/ |
| |||
| "Willem Bogaerts" <w.bogaerts@kratz.maardanzonderditstuk.nl> wrote in message news:45b76d23$0$328$e4fe514c@news.xs4all.nl... >> Is it possible to catch an error in 4.1 scripting? I have found that whan >> I >> run a script and a line of the script cannot find a table - instead of >> halting >> the script continues to run. > > Funny question. MySQL does not support multiple queries, so the only one Not really. If I have a multiple list of commands in a script and one of those lines errors (perhaps the table doesn't exist etc.) then I would expect the whole script to stop running. It doesn't do this - it carries on regardless. Sort of basic expectation of what a set of code should do really. --- Sam |
| ||||
| On Wed, 14 Feb 2007 11:19:37 -0000, Sam Smith wrote: > "Willem Bogaerts" <w.bogaerts@kratz.maardanzonderditstuk.nl> wrote in > message news:45b76d23$0$328$e4fe514c@news.xs4all.nl... >>> Is it possible to catch an error in 4.1 scripting? I have found that whan >>> I >>> run a script and a line of the script cannot find a table - instead of >>> halting >>> the script continues to run. >> >> Funny question. MySQL does not support multiple queries, so the only one > > Not really. If I have a multiple list of commands in a script and one of > those lines errors (perhaps the table doesn't exist etc.) then I would > expect the whole script to stop running. It doesn't do this - it carries on > regardless. > > Sort of basic expectation of what a set of code should do really. But mostly mysql "script" are (effectively) typed commands from a redirected standard input, using the same CLI as is used for a great many other things. Stopping would require writing at least a gizmo that sat between the redirect and watched for errors and threw away the rest of the input after parsing an error response back from the CLI, OR chaning the CLI so that it seizes up after the first error, which would be inconvenient for interactive operation. Basically, the CLI isn't *wrong*, it's just not doing what you'd like it to do. So write a parser in expect, perl or php, or whatever language you like, and watch for errors. It's not that tricky. -- Judging by this particular thread, many people in this group spent their school years taking illogical, pointless orders from morons and having their will to live systematically crushed. And people say school doesn't prepare kids for the real world. -- Rayner, in the Monastery |