Updated 2015-03-05 17:09:22 by RLE

MySQL is an open-source database system. See below for further details.

See Also  edit

MySQL Tcl Bindings
MySQLUsers
applications in Tcl that use MySQL
MySQL: Forked beyond repair?, Neil Mcallister, 2003-05-21
FBSQL
MySQL Tcl extension with emphasis on flexibility and perfomance.

Tutorials  edit

Beginning MySQL Tutorial, W.J. Gilmore, 1999-04-03

Description  edit

"MySQL is the world's most popular Open Source Database, designed for speed, power and precision in mission critical, heavy load use." In Sep 2002, they won the Linux Journal's Editors' Choice Award. From the article:
''If you're one of the people who has been saying, 'I can't use MySQL because it doesn't have [feature you need here]', it's time to read up on MySQL 4.0 and try it out on a development system. Can you say, 'full support for transactions and row-level locking'? 'UNION'? 'Full text search'? - http://www.mysql.com/

Example  edit

Silas 2005-10-05: I've used the following code to test the MySQL remote server each one second with a recursive proc and connect if the internet is on (I'm using FBSQL here):
#make the connection
proc mysqlConnect {} {
    set error [catch {
        set result [exec ping -c 1 $glo::db(host) | grep received]
    } error_message]

    if {$error} {
        if {$glo::db(connected)} {
            tk_messageBox -message "The connection has been lost. It will be connected in $glo::db(time) seconds."
            set glo::db(connected) 0
        }
        puts $error_message
        after [expr $glo::db(time) * 1000] {mysqlConnect}
        return
    }

    set index [string first {1 received} $result]
    puts "($index) $result"

    if {$index && $glo::db(connected) == 0} {
        if {[tk_messageBox -message "The net is OK. Do you want to connect?" -type yesno] == yes} {
            set error [catch {sql connect $glo::db(host) $glo::db(user) $glo::db(pass)} error_message]
            sql selectdb $glo::db(db)
            set glo::db(connected) 1
        }
    }

    after [expr $glo::db(tempo) * 1000] {mysqlConnect}
}