Commit 844624a3 authored by unknown's avatar unknown

Merge

parents ff97bcc7 9f358065
...@@ -183,3 +183,4 @@ mysqld.S ...@@ -183,3 +183,4 @@ mysqld.S
mysqld.sym mysqld.sym
.snprj/* .snprj/*
sql-bench/output/* sql-bench/output/*
sql-bench/Results-linux/ATIS-mysql_bdb-Linux_2.2.14_my_SMP_i686
...@@ -2571,7 +2571,7 @@ PMP Computer Solutions. Database developers using @strong{MySQL} and ...@@ -2571,7 +2571,7 @@ PMP Computer Solutions. Database developers using @strong{MySQL} and
@item @uref{http://www.aewa.org/}@* @item @uref{http://www.aewa.org/}@*
Airborne Early Warning Association. Airborne Early Warning Association.
@item @uref{http://21ccs.com/~gboersm/y2kmatrix/}@* @item @uref{http://www.dedserius.com/y2kmatrix/}@*
Y2K tester. Y2K tester.
@end itemize @end itemize
...@@ -4493,9 +4493,15 @@ China [linuxforum.net] @ ...@@ -4493,9 +4493,15 @@ China [linuxforum.net] @
@item @item
@c EMAIL: Vincent_Fong@innovator.com.hk (Vincent Fong) @c EMAIL: Vincent_Fong@innovator.com.hk (Vincent Fong)
@c @image{Flags/china} @c @image{Flags/china}
China [Hong Kong] @ China [ISL/Hong Kong] @
@uref{http://mysql.islnet.net, WWW} @uref{http://mysql.islnet.net, WWW}
@item
@c EMAIL: marquischan@hotmail.com (Marquis Chan)
@c @image{Flags/china}
China [TraLand.com/Hong Kong] @
@uref{http://www.traland.com/mysql/, WWW}
@c @item @c @item
@c Not ok 20000919; Non-existent (Matt) @c Not ok 20000919; Non-existent (Matt)
@c EMAIL: george@netfirm.net (Hongsheng Zhu) @c EMAIL: george@netfirm.net (Hongsheng Zhu)
...@@ -20271,7 +20277,7 @@ differ somewhat: ...@@ -20271,7 +20277,7 @@ differ somewhat:
| flush | OFF | | flush | OFF |
| flush_time | 0 | | flush_time | 0 |
| have_bdb | YES | | have_bdb | YES |
| have_gemeni | NO | | have_gemini | NO |
| have_innobase | YES | | have_innobase | YES |
| have_raid | YES | | have_raid | YES |
| have_ssl | NO | | have_ssl | NO |
...@@ -20449,9 +20455,9 @@ very little resources. ...@@ -20449,9 +20455,9 @@ very little resources.
@item @code{have_bdb} @item @code{have_bdb}
@code{YES} if @code{mysqld} supports Berkeley DB tables. @code{DISABLED} @code{YES} if @code{mysqld} supports Berkeley DB tables. @code{DISABLED}
if @code{--skip-bdb} is used. if @code{--skip-bdb} is used.
@item @code{have_gemeni} @item @code{have_gemini}
@code{YES} if @code{mysqld} supports Gemeni tables. @code{DISABLED} @code{YES} if @code{mysqld} supports Gemini tables. @code{DISABLED}
if @code{--skip-gemeni} is used. if @code{--skip-gemini} is used.
@item @code{have_innobase} @item @code{have_innobase}
@code{YES} if @code{mysqld} supports Innobase tables. @code{DISABLED} @code{YES} if @code{mysqld} supports Innobase tables. @code{DISABLED}
if @code{--skip-innobase} is used. if @code{--skip-innobase} is used.
...@@ -40050,9 +40056,12 @@ though, so Version 3.23 is not released as a stable version yet. ...@@ -40050,9 +40056,12 @@ though, so Version 3.23 is not released as a stable version yet.
@appendixsubsec Changes in release 3.23.30 @appendixsubsec Changes in release 3.23.30
@itemize @bullet @itemize @bullet
@item @item
Allow hex constants in the @code{--fields-*-by} and
@code{--lines-terminated-by} options to @code{mysqldump}. By Paul DuBois.
@item
Added option @code{--safe-show-databases}. Added option @code{--safe-show-databases}.
@item @item
Added @code{have_bdb}, @code{have_gemeni}, @code{have_innobase}, Added @code{have_bdb}, @code{have_gemini}, @code{have_innobase},
@code{have_raid} and @code{have_ssl} to @code{SHOW VARIABLES} to make it @code{have_raid} and @code{have_ssl} to @code{SHOW VARIABLES} to make it
easy to test for supported extensions. easy to test for supported extensions.
@item @item
...@@ -456,9 +456,14 @@ static char *add_load_option(char *ptr,const char *object,const char *statement) ...@@ -456,9 +456,14 @@ static char *add_load_option(char *ptr,const char *object,const char *statement)
{ {
if (object) if (object)
{ {
ptr= strxmov(ptr," ",statement," '",NullS); if (!strncasecmp(object,"0x",2)) /* hex constant; don't escape */
ptr= field_escape(ptr,object,(uint) strlen(object)); ptr= strxmov(ptr," ",statement," ",object,NullS);
*ptr++= '\''; else /* char constant; escape */
{
ptr= strxmov(ptr," ",statement," '",NullS);
ptr= field_escape(ptr,object,(uint) strlen(object));
*ptr++= '\'';
}
} }
return ptr; return ptr;
} }
......
This diff is collapsed.
...@@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script. ...@@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(sql/mysqld.cc) AC_INIT(sql/mysqld.cc)
AC_CANONICAL_SYSTEM AC_CANONICAL_SYSTEM
# The Docs Makefile.am parses this line! # The Docs Makefile.am parses this line!
AM_INIT_AUTOMAKE(mysql, 3.23.29a-gamma) AM_INIT_AUTOMAKE(mysql, 3.23.30-gamma)
AM_CONFIG_HEADER(config.h) AM_CONFIG_HEADER(config.h)
PROTOCOL_VERSION=10 PROTOCOL_VERSION=10
......
...@@ -393,7 +393,7 @@ static int examine_log(my_string file_name, char **table_names) ...@@ -393,7 +393,7 @@ static int examine_log(my_string file_name, char **table_names)
char *pos,*to; char *pos,*to;
/* Fix if old DOS files to new format */ /* Fix if old DOS files to new format */
for (pos=file_info.name; pos=strchr(pos,'\\') ; pos++) for (pos=file_info.name; (pos=strchr(pos,'\\')) ; pos++)
*pos= '/'; *pos= '/';
pos=file_info.name; pos=file_info.name;
......
-- require r/have_bdb.require
show variables like "have_bdb";
-- require r/have_isam.require
show variables like "have_isam";
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# mysql-test-run - originally written by Matt Wagner <matt@mysql.com> # mysql-test-run - originally written by Matt Wagner <matt@mysql.com>
# modified by Sasha Pachev <sasha@mysql.com> # modified by Sasha Pachev <sasha@mysql.com>
# Sligtly updated by Monty # Sligtly updated by Monty
# Cleaned up again by Matt
#++ #++
# Access Definitions # Access Definitions
...@@ -9,6 +10,7 @@ ...@@ -9,6 +10,7 @@
DB=test DB=test
DBUSER=test DBUSER=test
DBPASSWD= DBPASSWD=
VERBOSE=""
# Are we on source or binary distribution? # Are we on source or binary distribution?
...@@ -24,15 +26,12 @@ else ...@@ -24,15 +26,12 @@ else
if [ -f ./mysql-test-run ] && [ -d ../sql ] ; then if [ -f ./mysql-test-run ] && [ -d ../sql ] ; then
SOURCE_DIST=1 SOURCE_DIST=1
else else
echo "If you are using binary distribution, run me from install root as" $ECHO "If you are using binary distribution, run from install root as"
echo "scripts/mysql-test-run. On source distribution run me from source root" $ECHO "scripts/mysql-test-run. On source distribution run from source root"
echo "as mysql-test/mysql-test-run or from mysql-test as ./mysql-test-run" $ECHO "as mysql-test/mysql-test-run or from mysql-test as ./mysql-test-run"
exit 1 exit 1
fi fi
fi fi
#++ #++
# Misc. Definitions # Misc. Definitions
...@@ -111,8 +110,8 @@ XARGS=`which xargs | head -1` ...@@ -111,8 +110,8 @@ XARGS=`which xargs | head -1`
[ -z "$COLUMNS" ] && COLUMNS=80 [ -z "$COLUMNS" ] && COLUMNS=80
E=`$EXPR $COLUMNS - 8` E=`$EXPR $COLUMNS - 8`
#DASH72=`expr substr '________________________________________________________________________' 1 $E` #DASH72=`expr substr '------------------------------------------------------------------------' 1 $E`
DASH72=`$ECHO '________________________________________________________________________'|$CUT -c 1-$E` DASH72=`$ECHO '------------------------------------------------------------------------'|$CUT -c 1-$E`
# on source dist, we pick up freshly build executables # on source dist, we pick up freshly build executables
# on binary, use what is installed # on binary, use what is installed
...@@ -131,8 +130,7 @@ fi ...@@ -131,8 +130,7 @@ fi
SLAVE_MYSQLD=$MYSQLD #this will be changed later if we are doing gcov SLAVE_MYSQLD=$MYSQLD #this will be changed later if we are doing gcov
MYSQL_TEST="$MYSQL_TEST --no-defaults --socket=$MASTER_MYSOCK --database=$DB --user=$DBUSER --password=$DBPASSWD --silent -v"
MYSQL_TEST="$MYSQL_TEST --no-defaults --socket=$MASTER_MYSOCK --database=$DB --user=$DBUSER --password=$DBPASSWD --silent"
GDB_MASTER_INIT=/tmp/gdbinit.master GDB_MASTER_INIT=/tmp/gdbinit.master
GDB_SLAVE_INIT=/tmp/gdbinit.slave GDB_SLAVE_INIT=/tmp/gdbinit.slave
...@@ -142,19 +140,19 @@ while test $# -gt 0; do ...@@ -142,19 +140,19 @@ while test $# -gt 0; do
--record ) RECORD=1 ;; --record ) RECORD=1 ;;
--gcov ) --gcov )
if [ x$BINARY_DIST = x1 ] ; then if [ x$BINARY_DIST = x1 ] ; then
echo "Cannot do coverage test without the source - please use source dist" $ECHO "Cannot do coverage test without the source - please use source dist"
exit 1 exit 1
fi fi
DO_GCOV=1 DO_GCOV=1
;; ;;
--gdb ) --gdb )
if [ x$BINARY_DIST = x1 ] ; then if [ x$BINARY_DIST = x1 ] ; then
echo "Note: you will get more meaningful output on a source distribution compiled with debugging option when running tests with -gdb option" $ECHO "Note: you will get more meaningful output on a source distribution compiled with debugging option when running tests with -gdb option"
fi fi
DO_GDB=1 DO_GDB=1
;; ;;
-- ) shift; break ;; -- ) shift; break ;;
--* ) echo "Unrecognized option: $1"; exit 1 ;; --* ) $ECHO "Unrecognized option: $1"; exit 1 ;;
* ) break ;; * ) break ;;
esac esac
shift shift
...@@ -166,19 +164,22 @@ done ...@@ -166,19 +164,22 @@ done
prompt_user () prompt_user ()
{ {
echo $1 $ECHO $1
read unused read unused
} }
error () { error () {
$ECHO "Error: $1" $ECHO "Error: $1"
exit 1 exit 1
} }
error_is () {
$ECHO `$CAT $TIMEFILE` | $SED -e 's/.* At line \(.*\)\: \(.*\)Command .*$/ \>\> Error at line \1: \2<\</'
}
prefix_to_8() { prefix_to_8() {
echo " $1" | $SED -e 's:.*\(........\)$:\1:' $ECHO " $1" | $SED -e 's:.*\(........\)$:\1:'
} }
pass_inc () { pass_inc () {
...@@ -189,6 +190,10 @@ fail_inc () { ...@@ -189,6 +190,10 @@ fail_inc () {
TOT_FAIL=`$EXPR $TOT_FAIL + 1` TOT_FAIL=`$EXPR $TOT_FAIL + 1`
} }
skip_inc () {
TOT_SKIP=`$EXPR $TOT_SKIP + 1`
}
total_inc () { total_inc () {
TOT_TEST=`$EXPR $TOT_TEST + 1` TOT_TEST=`$EXPR $TOT_TEST + 1`
} }
...@@ -203,22 +208,22 @@ report_stats () { ...@@ -203,22 +208,22 @@ report_stats () {
whole=`$PRINTF %.2s $raw` whole=`$PRINTF %.2s $raw`
xwhole=`$EXPR $whole \* 100` xwhole=`$EXPR $whole \* 100`
deci=`$EXPR $raw - $xwhole` deci=`$EXPR $raw - $xwhole`
$ECHO "Failed ${TOT_FAIL}/${TOT_TEST} tests ${whole}.${deci}% successful." $ECHO "Failed ${TOT_FAIL}/${TOT_TEST} tests, ${whole}.${deci}% successful."
fi fi
} }
mysql_install_db () { mysql_install_db () {
echo "Removing stale files from previous run" $ECHO "Removing Stale Files"
$RM -rf $MASTER_MYDDIR $SLAVE_MYDDIR $SLAVE_MYLOG $MASTER_MYLOG \ $RM -rf $MASTER_MYDDIR $SLAVE_MYDDIR $SLAVE_MYLOG $MASTER_MYLOG \
$SLAVE_MYERR $MASTER_MYERR $SLAVE_MYERR $MASTER_MYERR
[ -d $MYRUN_DIR ] || mkdir -p $MYRUN_DIR [ -d $MYRUN_DIR ] || mkdir -p $MYRUN_DIR
echo "installing master databases" $ECHO "Installing Master Databases"
$INSTALL_DB $INSTALL_DB
if [ $? != 0 ]; then if [ $? != 0 ]; then
error "Could not install master test DBs" error "Could not install master test DBs"
exit 1 exit 1
fi fi
echo "Installing slave databases" $ECHO "Installing Slave Databases"
$INSTALL_DB -slave $INSTALL_DB -slave
if [ $? != 0 ]; then if [ $? != 0 ]; then
error "Could not install slave test DBs" error "Could not install slave test DBs"
...@@ -264,7 +269,7 @@ start_master() ...@@ -264,7 +269,7 @@ start_master()
--language=english $EXTRA_MASTER_OPT" --language=english $EXTRA_MASTER_OPT"
if [ x$DO_GDB = x1 ] if [ x$DO_GDB = x1 ]
then then
echo "set args $master_args" > $GDB_MASTER_INIT $ECHO "set args $master_args" > $GDB_MASTER_INIT
xterm -title "Master" -e gdb -x $GDB_MASTER_INIT $MYSQLD & xterm -title "Master" -e gdb -x $GDB_MASTER_INIT $MYSQLD &
prompt_user "Hit enter to continue after you've started the master" prompt_user "Hit enter to continue after you've started the master"
else else
...@@ -299,7 +304,7 @@ start_slave() ...@@ -299,7 +304,7 @@ start_slave()
--language=english $EXTRA_SLAVE_OPT" --language=english $EXTRA_SLAVE_OPT"
if [ x$DO_GDB = x1 ] if [ x$DO_GDB = x1 ]
then then
echo "set args $slave_args" > $GDB_SLAVE_INIT $ECHO "set args $slave_args" > $GDB_SLAVE_INIT
xterm -title "Slave" -e gdb -x $GDB_SLAVE_INIT $SLAVE_MYSQLD & xterm -title "Slave" -e gdb -x $GDB_SLAVE_INIT $SLAVE_MYSQLD &
prompt_user "Hit enter to continue after you've started the slave" prompt_user "Hit enter to continue after you've started the slave"
else else
...@@ -309,6 +314,7 @@ start_slave() ...@@ -309,6 +314,7 @@ start_slave()
} }
mysql_start () { mysql_start () {
$ECHO "Starting MySQL daemon"
start_master start_master
start_slave start_slave
cd $MYSQL_TEST_DIR cd $MYSQL_TEST_DIR
...@@ -321,15 +327,15 @@ stop_slave () ...@@ -321,15 +327,15 @@ stop_slave ()
then then
$MYSQLADMIN --no-defaults --socket=$SLAVE_MYSOCK -u root shutdown $MYSQLADMIN --no-defaults --socket=$SLAVE_MYSOCK -u root shutdown
if [ $? != 0 ] ; then # try harder! if [ $? != 0 ] ; then # try harder!
echo "slave not cooperating with mysqladmin, will try manual kill" $ECHO "slave not cooperating with mysqladmin, will try manual kill"
kill `cat $SLAVE_MYPID` kill `cat $SLAVE_MYPID`
sleep 2 sleep 2
if [ -f $SLAVE_MYPID ] ; then if [ -f $SLAVE_MYPID ] ; then
echo "slave refused to die, resorting to SIGKILL murder" $ECHO "slave refused to die, resorting to SIGKILL murder"
kill -9 `cat $SLAVE_MYPID` kill -9 `cat $SLAVE_MYPID`
$RM -f $SLAVE_MYPID $RM -f $SLAVE_MYPID
else else
echo "slave responded to SIGTERM " $ECHO "slave responded to SIGTERM "
fi fi
fi fi
SLAVE_RUNNING=0 SLAVE_RUNNING=0
...@@ -342,15 +348,15 @@ stop_master () ...@@ -342,15 +348,15 @@ stop_master ()
then then
$MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK -u root shutdown $MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK -u root shutdown
if [ $? != 0 ] ; then # try harder! if [ $? != 0 ] ; then # try harder!
echo "master not cooperating with mysqladmin, will try manual kill" $ECHO "master not cooperating with mysqladmin, will try manual kill"
kill `cat $MASTER_MYPID` kill `cat $MASTER_MYPID`
sleep 2 sleep 2
if [ -f $MASTER_MYPID ] ; then if [ -f $MASTER_MYPID ] ; then
echo "master refused to die, resorting to SIGKILL murder" $ECHO "master refused to die, resorting to SIGKILL murder"
kill -9 `cat $MASTER_MYPID` kill -9 `cat $MASTER_MYPID`
$RM -f $MASTER_MYPID $RM -f $MASTER_MYPID
else else
echo "master responded to SIGTERM " $ECHO "master responded to SIGTERM "
fi fi
fi fi
MASTER_RUNNING=0 MASTER_RUNNING=0
...@@ -359,6 +365,9 @@ stop_master () ...@@ -359,6 +365,9 @@ stop_master ()
mysql_stop () mysql_stop ()
{ {
$ECHO "Ending Tests"
$ECHO "Shutting-down MySQL daemon"
$ECHO
stop_master stop_master
stop_slave stop_slave
return 1 return 1
...@@ -443,7 +452,7 @@ run_testcase () ...@@ -443,7 +452,7 @@ run_testcase ()
< $tf 2> $TIMEFILE` < $tf 2> $TIMEFILE`
res=$? res=$?
if [ $res != 1 ]; then if [ $res == 0 ]; then
mytime=`$CAT $TIMEFILE | $TR '\n' '-'` mytime=`$CAT $TIMEFILE | $TR '\n' '-'`
USERT=`$ECHO $mytime | $CUT -d - -f 2 | $CUT -d ' ' -f 2` USERT=`$ECHO $mytime | $CUT -d - -f 2 | $CUT -d ' ' -f 2`
...@@ -460,33 +469,38 @@ run_testcase () ...@@ -460,33 +469,38 @@ run_testcase ()
timestr="$USERT $SYST $REALT" timestr="$USERT $SYST $REALT"
pname=`$ECHO "$tname "|$CUT -c 1-16` pname=`$ECHO "$tname "|$CUT -c 1-16`
$SETCOLOR_NORMAL && $ECHO -n "$pname $timestr" $ECHO -n "$pname $timestr"
total_inc
if [ $res != 0 ]; then if [ $res == 0 ]; then
total_inc
pass_inc
$ECHO "$RES_SPACE [ pass ]"
else
if [ $res == 1 ]; then
total_inc
fail_inc fail_inc
echo "$RES_SPACE [ fail ]" $ECHO "$RES_SPACE [ fail ]"
$ECHO "failed output" $ECHO
$CAT $TIMEFILE error_is
$ECHO
$ECHO $ECHO
if [ x$FORCE != x1 ] ; then if [ x$FORCE != x1 ] ; then
echo "Aborting, if you want to continue, re-run with --force" $ECHO "Aborting. To continue, re-run with '--force'."
$ECHO
mysql_stop mysql_stop
exit 1 exit 1
fi fi
echo "Restarting mysqld"
mysql_restart mysql_restart
echo "Resuming Tests" $ECHO "Resuming Tests"
else $ECHO
pass_inc else
echo "$RES_SPACE [ pass ]" pass_inc
$ECHO "$RES_SPACE [ skipped ]"
fi
fi fi
fi fi
} }
...@@ -494,21 +508,20 @@ run_testcase () ...@@ -494,21 +508,20 @@ run_testcase ()
[ "$DO_GCOV" ] && gcov_prepare [ "$DO_GCOV" ] && gcov_prepare
echo "Installing test databases" $ECHO "Installing Test Databases"
mysql_install_db mysql_install_db
#do not automagically start deamons if we are in gdb or running only one test #do not automagically start deamons if we are in gdb or running only one test
#case #case
if [ -z "$DO_GDB" ] && [ -z "$1" ] if [ -z "$DO_GDB" ] && [ -z "$1" ]
then then
$ECHO "Starting mysqld for Testing"
mysql_start mysql_start
fi fi
$ECHO "Loading Standard Test Database" $ECHO "Loading Standard Test Databases"
mysql_loadstd mysql_loadstd
$ECHO "Starting Tests for MySQL daemon" $ECHO "Starting Tests"
$ECHO $ECHO
$ECHO " TEST USER SYSTEM ELAPSED RESULT" $ECHO " TEST USER SYSTEM ELAPSED RESULT"
...@@ -517,7 +530,7 @@ $ECHO $DASH72 ...@@ -517,7 +530,7 @@ $ECHO $DASH72
if [ -z "$1" ] ; if [ -z "$1" ] ;
then then
if [ x$RECORD = x1 ]; then if [ x$RECORD = x1 ]; then
echo "Will not run in record mode without a specific test case" $ECHO "Will not run in record mode without a specific test case."
else else
for tf in $TESTDIR/*.$TESTSUFFIX for tf in $TESTDIR/*.$TESTSUFFIX
do do
...@@ -525,27 +538,25 @@ then ...@@ -525,27 +538,25 @@ then
done done
fi fi
else else
tf=$TESTDIR/$1.$TESTSUFFIX tname=`$BASENAME $1 .test`
tf=$TESTDIR/$tname.$TESTSUFFIX
if [ -f $tf ] ; then if [ -f $tf ] ; then
run_testcase $tf run_testcase $tf
else else
echo "Test case $tf does not exist" $ECHO "Test case $tf does not exist."
fi fi
fi fi
$ECHO $DASH72 $ECHO $DASH72
$ECHO $ECHO
$ECHO "Ending Tests for MySQL daemon"
$RM $TIMEFILE $RM -f $TIMEFILE
if [ -z "$DO_GDB" ] ; if [ -z "$DO_GDB" ] ;
then then
$ECHO "Shutdown mysqld"
mysql_stop mysql_stop
fi fi
$ECHO
report_stats report_stats
$ECHO $ECHO
......
bandID payoutID new_col
6 1 NULL
3 4 NULL
1 6 NULL
2 6 NULL
4 9 NULL
5 10 NULL
7 12 NULL
8 12 NULL
bandID payoutID new_col
1 6 NULL
2 6 NULL
3 4 NULL
4 9 NULL
5 10 NULL
6 1 NULL
7 12 NULL
8 12 NULL
Field Type Null Key Default Extra Privileges
GROUP_ID int(10) unsigned PRI 0 select,insert,update,references
LANG_ID smallint(5) unsigned PRI 0 select,insert,update,references
NAME char(80) MUL select,insert,update,references
n
3
9
10
12
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
t1.i 1 7 1 1 0 0 4.0000 2.2361 ENUM('1','3','5','7') NOT NULL
t1.j 2 8 1 1 0 0 5.0000 2.2361 ENUM('2','4','6','8') NOT NULL
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
t1.i 1 7 1 1 0 0 4.0000 2.2361 ENUM('1','3','5','7') NOT NULL
t1.j 2 8 1 1 0 0 5.0000 2.2361 ENUM('2','4','6','8') NOT NULL
a b
1 1
3 3
5 5
6 6
a b c
1 1 NULL
3 3 3
5 5 NULL
8 8 8
9 9 9
a b
1 1
5 5
3 3
4 4
6 6
a b c
1 1 NULL
5 5 NULL
3 3 NULL
4 4 NULL
6 6 6
skey sval
1 hello
2 hey
_rowid _rowid skey sval
1 1 1 hello
2 2 2 hey
a b
a 1
a 2
a 3
a 4
a 5
b 2
b 3
b 4
c 1
c 2
c 3
d 1
d 2
d 5
e 1
k 1
ordid ord
1 sdj
2 sdj
ordid ord
1 abc
2 abc
3 abc
1 sdj
2 sdj
3 sdj
1 zzz
id code name id code name
1 1 Tim 1 1 Tim
2 1 Monty 2 1 Monty
3 2 David 3 2 David
4 2 Erik 4 2 Erik
5 3 Sasha 5 3 Sasha
6 3 Jeremy 6 3 Jeremy
7 4 Matt 7 4 Matt
id code name id code name
2 1 Monty 2 1 Monty
3 2 David 3 2 David
4 2 Erik 4 2 Erik
5 3 Sasha 5 3 Sasha
6 3 Jeremy 6 3 Jeremy
7 4 Matt 7 4 Matt
8 1 Sinisa 8 1 Sinisa
id code name id code name
3 2 David 3 2 David
4 2 Erik 4 2 Erik
5 3 Sasha 5 3 Sasha
6 3 Jeremy 6 3 Jeremy
7 4 Matt 7 4 Matt
8 1 Sinisa 8 1 Sinisa
12 1 Ralph 12 1 Ralph
id parent_id level
8 102 2
9 102 2
15 102 2
id parent_id level
1001 100 0
1002 101 1
1003 101 1
1004 101 1
1005 101 1
1006 101 1
1007 101 1
1008 102 2
1009 102 2
1015 102 2
1016 103 2
1017 103 2
1018 103 2
1019 103 2
1020 103 2
1021 104 2
1022 104 2
1024 104 2
1025 105 2
1026 105 2
1027 105 2
1028 105 2
1029 105 2
1030 105 2
1031 106 2
1032 106 2
1033 106 2
1034 106 2
1035 106 2
1036 107 2
1037 107 2
1038 107 2
1040 107 2
1157 100 0
1179 105 2
1183 104 2
1193 105 2
1202 107 2
1203 107 2
id parent_id level
1001 100 0
1002 101 1
1003 101 1
1004 101 1
1005 101 1
1006 101 1
1007 101 1
1008 102 2
1010 102 2
1015 102 2
1016 103 2
1017 103 2
1018 103 2
1019 103 2
1020 103 2
1021 104 2
1023 104 2
1024 104 2
1025 105 2
1026 105 2
1027 105 2
1028 105 2
1029 105 2
1030 105 2
1031 106 2
1032 106 2
1033 106 2
1034 106 2
1035 106 2
1036 107 2
1037 107 2
1039 107 2
1041 107 2
1158 100 0
1180 105 2
1184 104 2
1194 105 2
1202 107 2
1204 107 2
id parent_id level
1008 102 2
1015 102 2
1010 102 2
table type possible_keys key key_len ref rows Extra
t1 ref level level 1 const 1 where used; Using index
table type possible_keys key key_len ref rows Extra
t1 ref level level 1 const 1 where used; Using index
table type possible_keys key key_len ref rows Extra
t1 ref level level 1 const 1 where used
level id
1 1002
1 1003
1 1004
1 1005
1 1006
1 1007
level id parent_id
1 1002 101
1 1003 101
1 1004 101
1 1005 101
1 1006 101
1 1007 101
gesuchnr benutzer_id
1 1
2 1
a
2
a b
a 1
a 2
a 3
a 4
a 5
b 2
b 3
b 4
c 1
c 2
c 3
d 1
d 2
d 5
e 1
k 1
n after rollback
n after commit
4 after commit
n after commit
4 after commit
5 after commit
n
4
5
6
afterbegin_id afterbegin_nom
1 hamdouni
afterrollback_id afterrollback_nom
afterautocommit0_id afterautocommit0_nom
2 mysql
afterrollback_id afterrollback_nom
id val
id val
pippo 12
id val
ID NAME
1 Jochen
_userid
marc@anyware.co.uk
_userid
marc@anyware.co.uk
user_id name phone ref_email detail
10292 sanjeev 29153373 sansh777@hotmail.com xxx
10292 shirish 2333604 shirish@yahoo.com ddsds
10292 sonali 323232 sonali@bolly.com filmstar
user_id name phone ref_email detail
10292 sanjeev 29153373 sansh777@hotmail.com xxx
10292 shirish 2333604 shirish@yahoo.com ddsds
10292 sonali 323232 sonali@bolly.com filmstar
user_id name phone ref_email detail
10292 sanjeev 29153373 sansh777@hotmail.com xxx
10292 shirish 2333604 shirish@yahoo.com ddsds
10292 sonali 323232 sonali@bolly.com filmstar
10293 shirish 2333604 shirish@yahoo.com ddsds
user_id name phone ref_email detail
10293 shirish 2333604 shirish@yahoo.com ddsds
user_id name phone ref_email detail
10291 sanjeev 29153373 sansh777@hotmail.com xxx
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment
t1 0 PRIMARY 1 a A NULL NULL NULL
t1 0 PRIMARY 2 b A 0 NULL NULL
t1 0 b 1 b A 0 NULL NULL
t1 0 c 1 c A 0 NULL NULL
t1 1 a 1 a A NULL NULL NULL
t1 1 a_2 1 a A NULL NULL NULL
col1 col2
1 1
2 3
3 4
4 4
5 2
col1 col2
1 1
2 3
3 4
4 7
5 2
col1 col2 co3
1 1 0
2 3 0
3 4 0
4 7 0
5 2 0
col1 col2 co3
1 1 0
2 9 0
3 4 0
4 7 0
5 2 0
a b
1 3
2 3
3 3
a b
1 3
2 3
3 3
a b
a b
1 3
2 3
3 3
a b
1 3
2 3
3 3
id ggid email passwd
1 test1 xxx
id ggid email passwd
1 test1 xxx
id ggid email passwd
2 test2 yyy
user_name password subscribed user_id quota weight access_date access_time approved dummy_primary_key
user_0 somepassword N 0 0 0 2000-09-07 23:06:59 2000-09-07 23:06:59 1
user_1 somepassword Y 1 1 1 2000-09-07 23:06:59 2000-09-07 23:06:59 2
user_2 somepassword N 2 2 1.4142135623731 2000-09-07 23:06:59 2000-09-07 23:06:59 3
user_3 somepassword Y 3 3 1.7320508075689 2000-09-07 23:06:59 2000-09-07 23:06:59 4
user_4 somepassword N 4 4 2 2000-09-07 23:06:59 2000-09-07 23:06:59 5
id parent_id level
8 102 2
9 102 2
15 102 2
id parent_id level
1001 100 0
1003 101 1
1004 101 1
1008 102 2
1024 102 2
1017 103 2
1022 104 2
1024 104 2
1028 105 2
1029 105 2
1030 105 2
1031 106 2
1032 106 2
1033 106 2
1203 107 2
1202 107 2
1020 103 2
1157 100 0
1193 105 2
1040 107 2
1002 101 1
1015 102 2
1006 101 1
1034 106 2
1035 106 2
1016 103 2
1007 101 1
1036 107 2
1018 103 2
1026 105 2
1027 105 2
1183 104 2
1038 107 2
1025 105 2
1037 107 2
1021 104 2
1019 103 2
1005 101 1
1179 105 2
id parent_id level
1002 100 0
1004 101 1
1005 101 1
1009 102 2
1025 102 2
1018 103 2
1023 104 2
1025 104 2
1029 105 2
1030 105 2
1031 105 2
1032 106 2
1033 106 2
1034 106 2
1204 107 2
1203 107 2
1021 103 2
1158 100 0
1194 105 2
1041 107 2
1003 101 1
1016 102 2
1007 101 1
1035 106 2
1036 106 2
1017 103 2
1008 101 1
1037 107 2
1019 103 2
1027 105 2
1028 105 2
1184 104 2
1039 107 2
1026 105 2
1038 107 2
1022 104 2
1020 103 2
1006 101 1
1180 105 2
id parent_id level
1009 102 2
1025 102 2
1016 102 2
table type possible_keys key key_len ref rows Extra
t1 ref level level 1 const 1 where used; Using index
level id
1 1004
1 1005
1 1003
1 1007
1 1008
1 1006
level id parent_id
1 1004 101
1 1005 101
1 1003 101
1 1007 101
1 1008 101
1 1006 101
level id
1 1003
1 1004
1 1005
1 1006
1 1007
1 1008
id parent_id level
1002 100 0
1009 102 2
1025 102 2
1018 103 2
1023 104 2
1025 104 2
1029 105 2
1030 105 2
1031 105 2
1032 106 2
1033 106 2
1034 106 2
1204 107 2
1203 107 2
1021 103 2
1158 100 0
1194 105 2
1041 107 2
1016 102 2
1035 106 2
1036 106 2
1017 103 2
1037 107 2
1019 103 2
1027 105 2
1028 105 2
1184 104 2
1039 107 2
1026 105 2
1038 107 2
1022 104 2
1020 103 2
1180 105 2
count(*)
1
0 256 00000000000000065536 2147483647 -2147483648 2147483648 +4294967296
0 256 65536 2147483647 -2147483648 2147483648 4294967296
922337203685477580 92233720368547758000
922337203685477580 92233720368547758080
-922337203685477580 -92233720368547758000
-922337203685477580 -92233720368547758080
9223372036854775807 -009223372036854775808
9223372036854775807 -9223372036854775808
+9999999999999999999 -9999999999999999999
10000000000000000000 -10000000000000000000
a
18446744073709551615
18446744073709551615
name
concat("*",name,"*")
**
**
**
min(name) min(concat("*",name,"*")) max(name) max(concat("*",name,"*"))
** **
name
concat("*",name,"*")
**
**
**
min(name) min(concat("*",name,"*")) max(name) max(concat("*",name,"*"))
** **
name
name
name
a b
hello hello
a b
a b
hello hello
CASE "b" when "a" then 1 when "b" then 2 END
2
CASE "c" when "a" then 1 when "b" then 2 END
NULL
CASE "c" when "a" then 1 when "b" then 2 ELSE 3 END
3
CASE BINARY "b" when "a" then 1 when "B" then 2 WHEN "b" then "ok" END
ok
CASE "b" when "a" then 1 when binary "B" then 2 WHEN "b" then "ok" END
ok
CASE concat("a","b") when concat("ab","") then "a" when "b" then "b" end
a
CASE when 1=0 then "true" else "false" END
false
CASE 1 when 1 then "one" WHEN 2 then "two" ELSE "more" END
one
CASE 2.0 when 1 then "one" WHEN 2.0 then "two" ELSE "more" END
two
(CASE "two" when "one" then "1" WHEN "two" then "2" END) | 0
2
(CASE "two" when "one" then 1.00 WHEN "two" then 2.00 END) +0.0
2.00
case 1/0 when "a" then "true" else "false" END
false
case 1/0 when "a" then "true" END
NULL
(case 1/0 when "a" then "true" END) | 0
NULL
(case 1/0 when "a" then "true" END) + 0.0
NULL
case when 1>0 then "TRUE" else "FALSE" END
TRUE
case when 1<0 then "TRUE" else "FALSE" END
FALSE
1+2/*hello*/+3
6
1
1
1 /*!32301 +1
2
1
1
1--1
2
1 --2
+1
4
1
1
table type possible_keys key key_len ref rows Extra
t1 index PRIMARY PRIMARY 12 NULL 2 where used; Using index
id
000000000001
id
000000000001
isbn city libname a
007 Berkeley Berkeley Public1 1
007 Berkeley Berkeley Public2 1
000 New York New York Public Libra 6
001 New York NYC Lib 1
006 San Fran San Fransisco Public 1
isbn city libname a
007 Berkeley Berkeley Public1 2
000 New York New York Public Libra 2
b
NULL
b
1a20 1e+ 1e+10
1 10000000001
a$1 $b c$
1 2 3
encrypt('foo', 'ff')
ffTU0fyIP09Z.
a tmsp
a tmsp
5 19711006010203
6 19711006010203
8 19711006010203
id
NULL
-1
0
1
2
3
4
5
6
7
8
9
10
id facility
NULL NULL
-1
0
1 /L
2 A01
3 ANC
4 F01
5 FBX
6 MT
7 P
8 RV
9 SRV
10 VMT
id-5 facility
NULL NULL
-6
-5
-4 /L
-3 A01
-2 ANC
-1 F01
0 FBX
1 MT
2 P
3 RV
4 SRV
5 VMT
id concat(facility)
NULL NULL
-1
0
1 /L
2 A01
3 ANC
4 F01
5 FBX
6 MT
7 P
8 RV
9 SRV
10 VMT
a max(id) b
10 10 VMT
9 9 SRV
8 8 RV
7 7 P
6 6 MT
5 5 FBX
4 4 F01
3 3 ANC
2 2 A01
1 1 /L
-1 -1
0 0
NULL NULL NULL
grp count(*)
0 7
1 6
FACILITY
NULL
/L
A01
ANC
F01
FBX
MT
P
RV
SRV
VMT
FACILITY
NULL
/L
A01
ANC
F01
FBX
MT
P
RV
SRV
VMT
count(*)
12
count(facility)
12
count(*)
13
count(*)
1
count(*)
0
count(*)
12
count(*)
1
count(*)
12
UserId
UserId
UserId
UserId
b
1
table type possible_keys key key_len ref rows Extra
t3 index a a 4 NULL 6 Using index; Using temporary
t2 index a a 4 NULL 5 Using index; Distinct
t1 eq_ref PRIMARY PRIMARY 4 t2.a 1 where used; Distinct
a
1
table type possible_keys key key_len ref rows Extra
t1 index PRIMARY PRIMARY 4 NULL 2 Using index; Using temporary
t3 ref a a 5 t1.a 12 Using index; Distinct
a
1
2
1
1
name
aa
ab
name
aa
ab
1
1
key_link_id link
NULL NULL
table type possible_keys key key_len ref rows Extra
t1 index id id 4 NULL 2 Using index; Using temporary
t2 index id id 8 NULL 1 Using index; Distinct
t3 index id id 8 NULL 1 Using index; Distinct
j_lj_t2 index id id 4 NULL 2 where used; Using index; Distinct
t2_lj index id id 8 NULL 1 where used; Using index; Distinct
j_lj_t3 index id id 4 NULL 2 where used; Using index; Distinct
t3_lj index id id 8 NULL 1 where used; Using index; Distinct
id
2
count(*)
0
nr b str
nr b str
0<=>0 0.0<=>0.0 "A"<=>"A" NULL<=>NULL
1 1 1 1
1<=>0 0<=>NULL NULL<=>0
0 0 0
1.0<=>0.0 0.0<=>NULL NULL<=>0.0
0 0 0
"A"<=>"B" "A"<=>NULL NULL<=>"A"
0 0 0
id value id value t1.value<=>t2.value
1 NULL 1 NULL 1
id value
1 NULL
id value
1 NULL
id value
id str
1 NULL
2 NULL
id str
3 foo
table type possible_keys key key_len ref rows Extra
t1 ref str str 11 const 1 where used
table type possible_keys key key_len ref rows Extra
t1 const str str 11 const 1
table type possible_keys key key_len ref rows Extra
t1 ALL str NULL NULL NULL 4 where used
table type possible_keys key key_len ref rows Extra
t1 const str str 11 const 1
Comment
No tables used
a MATCH (message) AGAINST ('steve') a MATCH (message) AGAINST ('steve')
4 0.90587321329654 4 0.90587321329654
7 0.89568988462614 7 0.89568988462614
a MATCH (message) AGAINST ('steve') a MATCH (message) AGAINST ('steve')
4 0.90587321329654 4 0.90587321329654
7 0.89568988462614 7 0.89568988462614
a MATCH (message) AGAINST ('steve') a MATCH (message) AGAINST ('steve')
7 0.89568988462614 7 0.89568988462614
4 0.90587321329654 4 0.90587321329654
a MATCH (message) AGAINST ('steve') a MATCH (message) AGAINST ('steve')
7 0.89568988462614 7 0.89568988462614
a rel a rel
1 0 1 0
2 0 2 0
3 0 3 0
5 0 5 0
6 0 6 0
7 0.89568988462614 7 0.89568988462614
4 0.90587321329654 4 0.90587321329654
a MATCH b AGAINST ('lala lkjh') a MATCH b AGAINST ('lala lkjh')
1 0.67003110026735 1 0.67003110026735
2 0 2 0
3 0 3 0
a MATCH c AGAINST ('lala lkjh') a MATCH c AGAINST ('lala lkjh')
1 0 1 0
2 0.67756324121582 2 0.67756324121582
3 0 3 0
a MATCH b,c AGAINST ('lala lkjh') a MATCH b,c AGAINST ('lala lkjh')
1 0.64840710366884 1 0.64840710366884
2 0.66266459031789 2 0.66266459031789
3 0 3 0
a b
Only MyISAM tables support collections
Full-text indexes are called collections
a b
Full-text indexes are called collections
a b
Full-text indexes are called collections
Only MyISAM tables support collections
encrypt('foo', 'ff')
ffTU0fyIP09Z.
visitor_id mts
48985536 20000319013932
173865424 20000318233615
357917728 20000319145027
465931136 20000318160953
1092858576 20000319013445
visitor_id mts
48985536 20000319013932
173865424 20000318233615
357917728 20000319145027
465931136 20000318160953
1092858576 20000319013445
0<=>0 0.0<=>0.0 "A"<=>"A" NULL<=>NULL
1 1 1 1
1<=>0 0<=>NULL NULL<=>0
0 0 0
1.0<=>0.0 0.0<=>NULL NULL<=>0.0
0 0 0
"A"<=>"B" "A"<=>NULL NULL<=>"A"
0 0 0
id value id value t1.value<=>t2.value
1 NULL 1 NULL 1
id value
1 NULL
id value
1 NULL
id value
a c sum(a)
1 a 1
2 b 2
3 c 3
4 E 4
5 C 5
6 D 6
a c sum(a)
sum(a)
NULL
a
1
3
6
5
2
4
a
1
3
6
5
2
4
count(distinct a) count(distinct grp)
6 3
count(distinct a) count(distinct grp)
6 3
sum(a) count(a) avg(a) std(a) bit_or(a) bit_and(a) min(a) max(a) min(c) max(c)
21 6 3.5000 1.7078 7 0 1 6 E
grp sum(a) count(a) avg(a) std(a) bit_or(a) bit_and(a) min(a) max(a) min(c) max(c)
NULL 0 0 NULL NULL 0 0 NULL NULL
1 1 1 1.0000 0.0000 1 1 1 1 a a
2 5 2 2.5000 0.5000 3 2 2 3 b c
3 15 3 5.0000 0.8165 7 4 4 6 C E
grp sum
NULL NULL
1 7
2 20
3 44.816496580928
grp a c
NULL NULL
1 2 a
2 5 c
3 9 E
2 3 c
id avg(value1) std(value1)
1 1.000000 0.816497
2 11.000000 0.816497
name avg(value1) std(value1)
Set One 1.000000 0.816497
Set Two 11.000000 0.816497
id avg(rating)
1 3.0000
2 NULL
3 2.0000
count(*)
3
count(*)
1
count(*)
0
count(*)
0
count(a)
1
count(a)
0
count(a)
0
count(b)
2
count(b)
0
count(c)
0
COUNT(i) i COUNT(i)*i
1 1 1
COUNT(i) (i+0) COUNT(i)*(i+0)
1 1 1
sum(num)
147.58
sum(num)
50.15
45.63
51.80
field
field
A
field
A
field
A
NULL
field
NULL
id
2
5
9
a
abc
abcd
a
test
a
test
floor(5.5) floor(-5.5)
5 -6
ceiling(5.5) ceiling(-5.5)
6 -5
truncate(52.64,1) truncate(52.64,2) truncate(52.64,-1) truncate(52.64,-2)
52.6 52.64 50 0
round(5.5) round(-5.5)
6 -6
round(5.64,1) round(5.64,2) round(5.64,-1) round(5.64,-2)
5.6 5.64 10 0
abs(-10) sign(-5) sign(5) sign(0)
10 -1 1 0
log(exp(10)) exp(log(sqrt(10))*2)
10.000000 10.000000
pow(10,log10(10)) power(2,4)
10.000000 16.000000
rand(999999) rand()
0.18435012473199 0.76373626176616
PI() sin(pi()/2) cos(pi()/2) tan(pi()) cot(1) asin(1) acos(0) atan(1)
3.141593 1.000000 0.000000 -0.000000 0.64209262 1.570796 1.570796 0.785398
degrees(pi()) radians(360)
180 6.2831853071796
format(1.5555,0) format(123.5555,1) format(1234.5555,2) format(12345.5555,3) format(123456.5555,4) format(1234567.5555,5) format("12345.2399",2)
2 123.6 1,234.56 12,345.556 123,456.5555 1,234,567.55550 12,345.24
inet_ntoa(inet_aton("255.255.255.255.255.255.255.255"))
255.255.255.255.255.255.255.255
inet_aton("255.255.255.255.255") inet_aton("255.255.1.255") inet_aton("0.1.255")
1099511627775 4294902271 511
inet_ntoa(1099511627775) inet_ntoa(4294902271) inet_ntoa(511)
255.255.255.255.255 255.255.1.255 0.0.1.255
1+1 1-1 1+1*2 8/5 8%5 mod(8,5) mod(8,5)|0 -(1+1)*-2
2 0 3 1.60 3 3 3 4
1 | (1+1) 5 & 3 bit_count(7)
3 1 3
1 << 32 1 << 63 1 << 64 4 >> 2 4 >> 63 1<< 63 >> 60
4294967296 -9223372036854775808 0 1 0 8
s1 regexp s2
1
1
1
1
1
1
1
0
0
0
NULL
NULL
NULL
NULL
interval(55,10,20,30,40,50,60,70,80,90,100) interval(3,1,1+1,1+1+1+1) field("IBM","NCA","ICL","SUN","IBM","DIGITAL") field("A","B","C") elt(2,"ONE","TWO","THREE") interval(0,1,2,3,4) elt(1,1,2,3)|0 elt(1,1.1,1.2,1.3)+0
5 2 4 0 TWO 0 1 1.1
find_in_set("b","a,b,c") find_in_set("c","a,b,c") find_in_set("dd","a,bbb,dd") find_in_set("bbb","a,bbb,dd")
2 3 3 2
find_in_set("d","a,b,c") find_in_set("dd","a,bbb,d") find_in_set("bb","a,bbb,dd")
0 0 0
make_set(0,'a','b','c') make_set(-1,'a','b','c') make_set(1,'a','b','c') make_set(2,'a','b','c') make_set(1+2,concat('a','b'),'c')
a,b,c a b ab,c
make_set(NULL,'a','b','c') make_set(1|4,'a',NULL,'c') make_set(1+2,'a',NULL,'c')
NULL a,c a
export_set(9,"Y","N","-",5) export_set(9,"Y","N") export_set(9,"Y","N","")
Y-N-N-Y-N Y,N,N,Y,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N YNNYNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
elt(2,1) field(NULL,"a","b","c")
NULL 0
find_in_set("","a,b,c") find_in_set("","a,b,c,") find_in_set("",",a,b,c")
0 4 1
find_in_set("abc","abc") find_in_set("ab","abc") find_in_set("abcd","abc")
1 0 0
...@@ -60,3 +60,40 @@ rpad('abcd',1,'ab') lpad('abcd',1,'ab') ...@@ -60,3 +60,40 @@ rpad('abcd',1,'ab') lpad('abcd',1,'ab')
a a a a
LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD') GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD') LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD') GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD')
HAROLD HARRY HAROLD HARRY
least(1,2,3) | greatest(16,32,8) least(5,4)*1 greatest(-1.0,1.0)*1 least(3,2,1)*1.0 greatest(1,1.1,1.0) least("10",9) greatest("A","B","0")
33 4 1.0 1.0 1.1 9 B
decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000)
1
decode(encode("abcdef","monty"),"monty")="abcdef"
1
reverse("")
insert("aa",100,1,"b") insert("aa",1,3,"b") left("aa",-1) substring("a",1,2)
aa b a
elt(2,1) field(NULL,"a","b","c") reverse("")
NULL 0
locate("a","b",2) locate("","a",1)
0 1
ltrim("a") rtrim("a") trim(BOTH "" from "a") trim(BOTH " " from "a")
a a a a
concat("1","2")|0 concat("1",".5")+0.0
12 1.5
substring_index("www.tcx.se","",3)
length(repeat("a",100000000)) length(repeat("a",1000*64))
NULL 64000
position("0" in "baaa" in (1)) position("0" in "1" in (1,2,3)) position("sql" in ("mysql"))
1 0 3
position(("1" in (1,2,3)) in "01")
2
length(repeat("a",65500)) length(concat(repeat("a",32000),repeat("a",32000))) length(replace("aaaaa","a",concat(repeat("a",10000)))) length(insert(repeat("a",40000),1,30000,repeat("b",50000)))
65500 64000 50000 60000
length(repeat("a",1000000)) length(concat(repeat("a",32000),repeat("a",32000),repeat("a",32000))) length(replace("aaaaa","a",concat(repeat("a",32000)))) length(insert(repeat("a",48000),1,1000,repeat("a",48000)))
1000000 96000 160000 95000
Date Unix
1998-9-16 09:26:00 905927160
1998-9-16 09:26:00 905927160
domain
hello.de
domain
test.de
database() user()
test test@localhost
version()>="3.23.29"
1
0=0 1>0 1>=1 1<0 1<=0 1!=0 strcmp("abc","abcd") strcmp("b","a") strcmp("a","a")
1 1 1 0 0 1 -1 1 0
"a"<"b" "a"<="b" "b">="a" "b">"a" "a"="A" "a"<>"b"
1 1 1 1 1 1
"a "="A" "A "="a" "a " <= "A b"
1 1 1
"abc" like "a%" "abc" not like "%d%" "a%" like "a\%" "abc%" like "a%\%" "abcd" like "a%b_%d" "a" like "%%a" "abcde" like "a%_e" "abc" like "abc%"
1 1 1 1 1 1 1 1
"a" like "%%b" "a" like "%%ab" "ab" like "a\%" "ab" like "_" "ab" like "ab_" "abc" like "%_d" "abc" like "abc%d"
0 0 0 0 0 0 0
'?' like '|%' '?' like '|%' ESCAPE '|' '%' like '|%' '%' like '|%' ESCAPE '|' '%' like '%'
0 0 0 1 1
'abc' like '%c' 'abcabc' like '%c' "ab" like "" "ab" like "a" "ab" like "ab"
1 1 0 0 1
"Det här är svenska" regexp "h[[:alpha:]]+r" "aba" regexp "^(a|b)*$"
1 1
"aba" regexp concat("^","a")
1
!0 NOT 0=1 !(0=0) 1 AND 1 1 && 0 0 OR 1 1 || NULL 1=1 or 1=1 and 1=0
1 1 0 1 0 1 1 1
IF(0,"ERROR","this") IF(1,"is","ERROR") IF(NULL,"ERROR","a") IF(1,2,3)|0 IF(1,2.0,3.0)+0
this is a 2 2.0
2 between 1 and 3 "monty" between "max" and "my" 2=2 and "monty" between "max" and "my" and 3=3
1 1 1
'b' between 'a' and 'c' 'B' between 'a' and 'c'
1 1
2 in (3,2,5,9,5,1) "monty" in ("david","monty","allan") 1.2 in (1.4,1.2,1.0)
1 1 1
-1.49 or -1.49 0.6 or 0.6
1 1
5 between 0 and 10 between 0 and 1 (5 between 0 and 10) between 0 and 1
0 1
1 and 2 between 2 and 10 2 between 2 and 10 and 1
1 1
1 and 0 or 2 2 or 1 and 0
1 1
from_days(to_days("960101")) to_days(960201)-to_days("19960101") to_days(date_add(curdate(), interval 1 day))-to_days(curdate()) weekday("1997-11-29")
1996-01-01 31 1 5
period_add("9602",-12) period_diff(199505,"9404")
199502 13
now()-now() weekday(curdate())-weekday(now()) unix_timestamp()-unix_timestamp(now())
0 0 0
from_unixtime(unix_timestamp("1994-03-02 10:11:12")) from_unixtime(unix_timestamp("1994-03-02 10:11:12"),"%Y-%m-%d %h:%i:%s") from_unixtime(unix_timestamp("1994-03-02 10:11:12"))+0
1994-03-02 10:11:12 1994-03-02 10:11:12 19940302101112
sec_to_time(9001) sec_to_time(9001)+0 time_to_sec("15:12:22")
02:30:01 23001 54742
now()-curdate()*1000000-curtime()
0
strcmp(current_timestamp(),concat(current_date()," ",current_time()))
0
date_format("1997-01-02 03:04:05", "%M %W %D %Y %y %m %d %h %i %s %w")
January Thursday 2nd 1997 97 01 02 03 04 05 4
date_format("1997-01-02", concat("%M %W %D ","%Y %y %m %d %h %i %s %w"))
January Thursday 2nd 1997 97 01 02 12 00 00 4
dayofmonth("1997-01-02") dayofmonth(19970323)
2 23
month("1997-01-02") year("98-02-03") dayofyear("1997-12-31")
1 1998 365
DAYOFYEAR("1997-03-03") WEEK("1998-03-03") QUARTER(980303)
62 9 1
HOUR("1997-03-03 23:03:22") MINUTE("23:03:22") SECOND(230322)
23 3 22
week(19980101) week(19970101) week(19980101,1) week(19970101,1)
0 1 1 1
week(19981231) week(19971231) week(19981231,1) week(19971231,1)
52 53 53 53
week(19950101) week(19950101,1)
1 0
yearweek('1981-12-31',1) yearweek('1982-01-01',1) yearweek('1982-12-31',1) yearweek('1983-01-01',1)
198153 198153 198252 198252
date_format('1998-12-31','%x-%v') date_format('1999-01-01','%x-%v')
1998-53 1998-53
date_format('1999-12-31','%x-%v') date_format('2000-01-01','%x-%v')
1999-52 1999-52
yearweek('1987-01-01',1) yearweek('1987-01-01')
198701 198653
dayname("1962-03-03") dayname("1962-03-03")+0
Saturday 5
monthname("1972-03-04") monthname("1972-03-04")+0
March 3
time_format(19980131000000,'%H|%I|%k|%l|%i|%p|%r|%S|%T')
00|12|0|12|00|AM|12:00:00 AM|00|00:00:00
time_format(19980131010203,'%H|%I|%k|%l|%i|%p|%r|%S|%T')
01|01|1|1|02|AM|01:02:03 AM|03|01:02:03
time_format(19980131131415,'%H|%I|%k|%l|%i|%p|%r|%S|%T')
13|01|13|1|14|PM|01:14:15 PM|15|13:14:15
time_format(19980131010015,'%H|%I|%k|%l|%i|%p|%r|%S|%T')
01|01|1|1|00|AM|01:00:15 AM|15|01:00:15
date_format(concat('19980131',131415),'%H|%I|%k|%l|%i|%p|%r|%S|%T| %M|%W|%D|%Y|%y|%a|%b|%j|%m|%d|%h|%s|%w')
13|01|13|1|14|PM|01:14:15 PM|15|13:14:15| January|Saturday|31st|1998|98|Sat|Jan|031|01|31|01|15|6
date_format(19980021000000,'%H|%I|%k|%l|%i|%p|%r|%S|%T| %M|%W|%D|%Y|%y|%a|%b|%j|%m|%d|%h|%s|%w')
NULL
date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND)
1998-01-01 00:00:00
date_add("1997-12-31 23:59:59",INTERVAL 1 MINUTE)
1998-01-01 00:00:59
date_add("1997-12-31 23:59:59",INTERVAL 1 HOUR)
1998-01-01 00:59:59
date_add("1997-12-31 23:59:59",INTERVAL 1 DAY)
1998-01-01 23:59:59
date_add("1997-12-31 23:59:59",INTERVAL 1 MONTH)
1998-01-31 23:59:59
date_add("1997-12-31 23:59:59",INTERVAL 1 YEAR)
1998-12-31 23:59:59
date_add("1997-12-31 23:59:59",INTERVAL "1:1" MINUTE_SECOND)
1998-01-01 00:01:00
date_add("1997-12-31 23:59:59",INTERVAL "1:1" HOUR_MINUTE)
1998-01-01 01:00:59
date_add("1997-12-31 23:59:59",INTERVAL "1:1" DAY_HOUR)
1998-01-02 00:59:59
date_add("1997-12-31 23:59:59",INTERVAL "1 1" YEAR_MONTH)
1999-01-31 23:59:59
date_add("1997-12-31 23:59:59",INTERVAL "1:1:1" HOUR_SECOND)
1998-01-01 01:01:00
date_add("1997-12-31 23:59:59",INTERVAL "1 1:1" DAY_MINUTE)
1998-01-02 01:00:59
date_add("1997-12-31 23:59:59",INTERVAL "1 1:1:1" DAY_SECOND)
1998-01-02 01:01:00
date_sub("1998-01-01 00:00:00",INTERVAL 1 SECOND)
1997-12-31 23:59:59
date_sub("1998-01-01 00:00:00",INTERVAL 1 MINUTE)
1997-12-31 23:59:00
date_sub("1998-01-01 00:00:00",INTERVAL 1 HOUR)
1997-12-31 23:00:00
date_sub("1998-01-01 00:00:00",INTERVAL 1 DAY)
1997-12-31 00:00:00
date_sub("1998-01-01 00:00:00",INTERVAL 1 MONTH)
1997-12-01 00:00:00
date_sub("1998-01-01 00:00:00",INTERVAL 1 YEAR)
1997-01-01 00:00:00
date_sub("1998-01-01 00:00:00",INTERVAL "1:1" MINUTE_SECOND)
1997-12-31 23:58:59
date_sub("1998-01-01 00:00:00",INTERVAL "1:1" HOUR_MINUTE)
1997-12-31 22:59:00
date_sub("1998-01-01 00:00:00",INTERVAL "1:1" DAY_HOUR)
1997-12-30 23:00:00
date_sub("1998-01-01 00:00:00",INTERVAL "1 1" YEAR_MONTH)
1996-12-01 00:00:00
date_sub("1998-01-01 00:00:00",INTERVAL "1:1:1" HOUR_SECOND)
1997-12-31 22:58:59
date_sub("1998-01-01 00:00:00",INTERVAL "1 1:1" DAY_MINUTE)
1997-12-30 22:59:00
date_sub("1998-01-01 00:00:00",INTERVAL "1 1:1:1" DAY_SECOND)
1997-12-30 22:58:59
date_add("1997-12-31 23:59:59",INTERVAL 100000 SECOND)
1998-01-02 03:46:39
date_add("1997-12-31 23:59:59",INTERVAL -100000 MINUTE)
1997-10-23 13:19:59
date_add("1997-12-31 23:59:59",INTERVAL 100000 HOUR)
2009-05-29 15:59:59
date_add("1997-12-31 23:59:59",INTERVAL -100000 DAY)
1724-03-17 23:59:59
date_add("1997-12-31 23:59:59",INTERVAL 100000 MONTH)
NULL
date_add("1997-12-31 23:59:59",INTERVAL -100000 YEAR)
NULL
date_add("1997-12-31 23:59:59",INTERVAL "10000:1" MINUTE_SECOND)
1998-01-07 22:40:00
date_add("1997-12-31 23:59:59",INTERVAL "-10000:1" HOUR_MINUTE)
1996-11-10 07:58:59
date_add("1997-12-31 23:59:59",INTERVAL "10000:1" DAY_HOUR)
2025-05-19 00:59:59
date_add("1997-12-31 23:59:59",INTERVAL "-100 1" YEAR_MONTH)
1897-11-30 23:59:59
date_add("1997-12-31 23:59:59",INTERVAL "10000:99:99" HOUR_SECOND)
1999-02-21 17:40:38
date_add("1997-12-31 23:59:59",INTERVAL " -10000 99:99" DAY_MINUTE)
1970-08-11 19:20:59
date_add("1997-12-31 23:59:59",INTERVAL "10000 99:99:99" DAY_SECOND)
2025-05-23 04:40:38
"1997-12-31 23:59:59" + INTERVAL 1 SECOND
1998-01-01 00:00:00
INTERVAL 1 DAY + "1997-12-31"
1998-01-01
"1998-01-01 00:00:00" - INTERVAL 1 SECOND
1997-12-31 23:59:59
date_sub("1998-01-02",INTERVAL 31 DAY)
1997-12-02
date_add("1997-12-31",INTERVAL 1 SECOND)
1997-12-31 00:00:01
date_add("1997-12-31",INTERVAL 1 DAY)
1998-01-01
date_add(NULL,INTERVAL 100000 SECOND)
NULL
date_add("1997-12-31 23:59:59",INTERVAL NULL SECOND)
NULL
date_add("1997-12-31 23:59:59",INTERVAL NULL MINUTE_SECOND)
NULL
date_add("9999-12-31 23:59:59",INTERVAL 1 SECOND)
NULL
date_sub("0000-00-00 00:00:00",INTERVAL 1 SECOND)
NULL
date_add('1998-01-30',Interval 1 month)
1998-02-28
date_add('1998-01-30',Interval '2:1' year_month)
2000-02-29
date_add('1996-02-29',Interval '1' year)
1997-02-28
extract(YEAR FROM "1999-01-02 10:11:12")
1999
extract(YEAR_MONTH FROM "1999-01-02")
199901
extract(DAY FROM "1999-01-02")
2
extract(DAY_HOUR FROM "1999-01-02 10:11:12")
210
extract(DAY_MINUTE FROM "02 10:11:12")
21011
extract(DAY_SECOND FROM "225 10:11:12")
225101112
extract(HOUR FROM "1999-01-02 10:11:12")
10
extract(HOUR_MINUTE FROM "10:11:12")
1011
extract(HOUR_SECOND FROM "10:11:12")
101112
extract(MINUTE FROM "10:11:12")
11
extract(MINUTE_SECOND FROM "10:11:12")
1112
extract(SECOND FROM "1999-01-02 10:11:12")
12
userid MIN(t1.score)
1 1
2 2
3 3
userid MIN(t1.score)
1 1
2 2
userid MIN(t1.score+0.0)
1 1.0
2 2.0
cid CONCAT(firstname, ' ', surname) COUNT(call_id)
cid CONCAT(firstname, ' ', surname) COUNT(call_id)
value description bug_id
BBBBBBBBBBBBB - conversion 9
BBBBBBBBBBBBB - conversion 10
BBBBBBBBBBBBB - generic 7
BBBBBBBBBBBBB - generic 14
BBBBBBBBBBBBB - eeeeeeeee NULL
kkkkkkkkkkk lllllllllll 6
kkkkkkkkkkk lllllllllll 8
kkkkkkkkkkk lllllllllll 12
Test Procedures NULL
Documentation NULL
Host communication NULL
value description COUNT(bug_id)
BBBBBBBBBBBBB - conversion 2
BBBBBBBBBBBBB - eeeeeeeee 0
BBBBBBBBBBBBB - generic 2
Documentation 0
Host communication 0
kkkkkkkkkkk lllllllllll 3
Test Procedures 0
Variable_name Value
have_bdb YES
Variable_name Value
have_isam YES
Variable_name Value
have_raid YES
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment
t1 0 PRIMARY 1 a NULL NULL NULL NULL
a b
2 2
3 3
4 4
a b
4 4
a b
2 2
3 3
4 6
a b
1 1
2 2
3 3
4 4
a
869751
802616
a
869751
802616
a
736494
a
736494
869751
a
226312
736494
802616
869751
table type possible_keys key key_len ref rows Extra
t1 range uniq_id uniq_id 4 NULL 4 where used; Using index
x y
1 3
1 1
x y x y
1 1 1 1
2 2 2 2
1 3 1 1
2 4 2 2
2 5 2 2
2 6 2 2
table type possible_keys key key_len ref rows Extra
t1 ALL x NULL NULL NULL 6
t2 eq_ref y y 4 t1.x 1
max(a)
1
a b
1 6
1 5
1 4
1 3
1 2
1 1
a b
1 6
1 5
1 4
1 3
1 2
1 1
1 6
1 5
1 4
1 3
1 2
1 1
max(id)
1
max(id)
2
f1 f2
16 ted
12 ted
12 ted
12 ted
12 ted
id domain id t2
1 mysql.com 1 mysql.com
2 hotmail.com 2 hotmail.com
3 aol.com 3 aol.com
payoutID
1
4
6
9
10
11
12
14
16
19
20
22
id id
107 107
75 75
id count(t2.id)
75 1
107 1
id count(t2.id)
75 1
107 1
grp a c id a c d
1 1 a 1 1 a 1
3 4 E 3 4 A 4
3 5 C 3 5 B 5
3 6 D 3 6 C 6
grp a c id a c d
NULL NULL NULL NULL NULL NULL
1 1 a 1 1 a 1
2 2 b NULL NULL NULL NULL
2 3 c NULL NULL NULL NULL
3 4 E 3 4 A 4
3 5 C 3 5 B 5
3 6 D 3 6 C 6
grp a c id a c d
1 1 a 1 1 a 1
3 4 E 3 4 A 4
3 5 C 3 5 B 5
3 6 D 3 6 C 6
NULL NULL NULL 4 7 D 7
grp a c id a c d
1 1 a 1 1 a 1
3 4 E 3 4 A 4
3 5 C 3 5 B 5
3 6 D 3 6 C 6
NULL NULL NULL 4 7 D 7
grp a c id a c d
1 1 a 1 1 a 1
2 2 b NULL NULL NULL NULL
2 3 c NULL NULL NULL NULL
3 4 E 3 4 A 4
3 5 C 3 5 B 5
3 6 D 3 6 C 6
NULL NULL NULL NULL NULL NULL
grp a c id a c d
1 1 a 1 1 a 1
2 2 b NULL NULL NULL NULL
2 3 c NULL NULL NULL NULL
3 4 E NULL NULL NULL NULL
3 5 C NULL NULL NULL NULL
3 6 D NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL
grp a c id a c d
1 1 a 1 1 a 1
1 1 a 3 4 A 4
2 2 b 3 5 B 5
2 3 c 3 6 C 6
3 4 E NULL NULL NULL NULL
3 5 C 3 6 C 6
3 6 D 4 7 D 7
NULL NULL NULL NULL NULL NULL
grp a c id a c d
1 1 a 1 1 a 1
2 2 b NULL NULL NULL NULL
2 3 c NULL NULL NULL NULL
3 4 E NULL NULL NULL NULL
3 5 C NULL NULL NULL NULL
3 6 D NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL
grp a c id a c d
3 4 E 3 4 A 4
3 5 C 3 5 B 5
3 6 D 3 6 C 6
grp a c id a c d
2 2 b NULL NULL NULL NULL
2 3 c NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL
Comment
Impossible WHERE noticed after reading const tables
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 7
t2 eq_ref PRIMARY PRIMARY 8 t1.a 1 where used
grp a c id a c d a
1 1 a 1 1 a 1 1
2 2 b NULL NULL NULL NULL NULL
2 3 c NULL NULL NULL NULL NULL
3 4 E 3 4 A 4 4
3 5 C 3 5 B 5 5
3 6 D 3 6 C 6 6
NULL NULL NULL NULL NULL NULL NULL
grp a c id a c d
1 1 a 1 1 a 1
3 4 E 3 4 A 4
3 5 C 3 5 B 5
3 6 D 3 6 C 6
grp a c id a c d
1 1 a 1 1 a 1
3 4 E 3 4 A 4
3 5 C 3 5 B 5
3 6 D 3 6 C 6
grp a c id a c d
1 1 a 1 1 a 1
usr_id uniq_id increment usr2_id c_amount max
3 4 84676 NULL NULL NULL
usr_id uniq_id increment usr2_id c_amount max
3 4 84676 NULL NULL NULL
usr_id uniq_id increment usr2_id c_amount max
3 4 84676 NULL NULL NULL
usr_id uniq_id increment usr2_id c_amount max
3 4 84676 NULL NULL NULL
usr_id uniq_id increment usr2_id c_amount max
3 4 84676 NULL NULL NULL
fill desc_larga_cat cred_total Grup Places PlacesOcupades
10360 asdfggfg 6.0 0 55 0
10360 asdfggfg 6.0 12 333 0
10360 asdfggfg 6.0 33 8 0
10360 asdfggfg 6.0 45 10 0
10360 asdfggfg 6.0 55 2 0
10360 asdfggfg 6.0 7887 85 0
10360 asdfggfg 6.0 32767 7 0
10361 Components i Circuits Electronics I 6.0 30 2 0
10361 Components i Circuits Electronics I 6.0 40 3 0
10362 Laboratori d`Ordinadors 4.5 10 12 0
10362 Laboratori d`Ordinadors 4.5 11 111 0
fill idPla
10360 NULL
10361 NULL
10362 NULL
fill idPla
10360 1
10361 NULL
10362 NULL
name name id
Antonio Paz El Gato 1
Antonio Paz Perrito 2
Lilliana Angelovska NULL NULL
Thimble Smith Happy 3
name name id
Lilliana Angelovska NULL NULL
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 3
t2 ALL NULL NULL NULL NULL 3 where used; Not exists
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 3
t2 ALL NULL NULL NULL NULL 3 where used
count(*)
4
name name id
Antonio Paz El Gato 1
Antonio Paz Perrito 2
Lilliana Angelovska NULL NULL
Thimble Smith Happy 3
name name id
Lilliana Angelovska NULL NULL
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 3
t2 ALL NULL NULL NULL NULL 3 where used; Not exists
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 3
t2 ALL NULL NULL NULL NULL 3 where used
count(*)
4
name name id id
Antonio Paz El Gato 1 1
Antonio Paz Perrito 2 1
Lilliana Angelovska NULL NULL NULL
Thimble Smith Happy 3 3
name name id id
Antonio Paz El Gato 1 1
Antonio Paz Perrito 2 1
NULL Happy 3 1
NULL El Gato 1 2
NULL Perrito 2 2
NULL Happy 3 2
NULL El Gato 1 3
NULL Perrito 2 3
Thimble Smith Happy 3 3
name name id owner id
Antonio Paz El Gato 1 1 1
Antonio Paz Perrito 2 1 1
Lilliana Angelovska NULL NULL NULL 1
Thimble Smith NULL NULL NULL 1
Antonio Paz NULL NULL NULL 2
Lilliana Angelovska NULL NULL NULL 2
Thimble Smith NULL NULL NULL 2
Antonio Paz NULL NULL NULL 3
Lilliana Angelovska NULL NULL NULL 3
Thimble Smith Happy 3 3 3
id str
4 bar
3 foo
id str
1 NULL
2 NULL
n m o n m o
1 2 11 1 2 3
1 2 7 1 2 3
1 2 9 1 2 3
1 3 9 NULL NULL NULL
n m o n m o
1 2 7 1 2 3
1 2 9 1 2 3
1 3 9 NULL NULL NULL
1 2 11 1 2 3
id2
3
id2
3
color name
red apple
yellow banana
green lime
black grape
blue blueberry
count color
10 green
5 black
15 white
7 green
count color color name
10 green green lime
7 green green lime
5 black black grape
count name
10 lime
7 lime
5 grape
count name
10 lime
7 lime
5 grape
pcode count
kld2000 1
klw1000 0
klw1020 0
klw1500 0
klw2000 0
klw2001 0
klw2002 0
klw2500 0
kmw1000 0
kmw1500 0
kmw2000 0
kmw2001 0
kmw2100 0
kmw3000 0
kmw3200 0
kvw2000 26
kvw2001 0
kvw3000 36
kvw3001 0
kvw3002 0
kvw3500 26
kvw3501 0
kvw3502 0
kvw3800 0
kvw3801 0
kvw3802 0
kvw3900 0
kvw3901 0
kvw3902 0
kvw4000 0
kvw4001 0
kvw4002 0
kvw4200 0
kvw4500 0
kvw5000 0
kvw5001 0
kvw5500 0
kvw5510 0
kvw5600 0
kvw5601 0
kvw6000 2
pcode count
kld2000 1
klw1000 0
klw1020 0
klw1500 0
klw2000 0
klw2001 0
klw2002 0
klw2500 0
kmw1000 0
kmw1500 0
kmw2000 0
kmw2001 0
kmw2100 0
kmw3000 0
kmw3200 0
kvw2000 26
kvw2001 0
kvw3000 36
kvw3001 0
kvw3002 0
kvw3500 26
kvw3501 0
kvw3502 0
kvw3800 0
kvw3801 0
kvw3802 0
kvw3900 0
kvw3901 0
kvw3902 0
kvw4000 0
kvw4001 0
kvw4002 0
kvw4200 0
kvw4500 0
kvw5000 0
kvw5001 0
kvw5500 0
kvw5510 0
kvw5600 0
kvw5601 0
kvw6000 2
id pid rep_del id pid rep_del
1 NULL NULL 2 1 NULL
2 1 NULL NULL NULL NULL
id pid rep_del id pid rep_del
1 NULL NULL 2 1 NULL
2 1 NULL NULL NULL NULL
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 2
t2 index id id 8 NULL 1 where used; Using index; Not exists
id name id idx
2 no NULL NULL
value
personal employee company
price area type transityes shopsyes schoolsyes petsyes
name author category email password proxy bitmap msg urlscol urlhttp timeout nbcnx creation livinguntil lang type subcat subtype reg scs capacity userISP CCident
patnom patauteur 0 p.favre@cryo-networks.fr NULL NULL #p2sndnq6ae5g1u6t essai
salut scol://195.242.78.119:patauteur.patnom NULL NULL NULL 950036174 -882087474 NULL 3 0 3 1 Pub/patnom/futur_divers.scs NULL pat CC1
name_id name
name_id name
2 [T,U]_axpby
name_id name
name_id name
2 [T,U]_axpby
a b a b
A B A B
b A A B
C c A B
D E A B
a a A B
A B b A
b A b A
C c b A
D E b A
a a b A
A B C c
b A C c
C c C c
D E C c
a a C c
A B D E
b A D E
C c D E
D E D E
a a D E
A B a a
b A a a
C c a a
D E a a
a a a a
table type possible_keys key key_len ref rows Extra
t1 ALL a NULL NULL NULL 5
t2 ALL b NULL NULL NULL 5 where used
a b a b
A B b A
a a b A
A B a a
a a a a
b A A B
C c C c
a b
A B
a a
t1
ABC
t1
t1
AB%
table type possible_keys key key_len ref rows Extra
t1 const PRIMARY PRIMARY 3 const 1
Comment
Impossible WHERE noticed after reading const tables
time date timestamp
12:22:22 1997-02-03 19970102000000
t1.time+0 t1.date+0 t1.timestamp+0 concat(date," ",time)
122222 19970203 19970102000000 1997-02-03 12:22:22
a b
0 0
4 1
2 1
3 1
a b
0 0
4 2
2 2
3 1
a b
0 0
4 2
2 2
3 4
a b
0 0
2 2
3 4
a b
2 2
3 4
a b
1 Testing
2 table
3 t1
1 Testing
2 table
3 t2
a b
3 t1
3 t2
2 table
2 table
1 Testing
1 Testing
table type possible_keys key key_len ref rows Extra
t3 range a a 4 NULL 10 where used
table type possible_keys key key_len ref rows Extra
t3 range a a 4 NULL 10 where used
a b
10 Testing
10 Testing
a b
1 Testing
1 Testing
2 table
2 table
3 t1
3 t2
4 Testing
4 Testing
5 table
5 table
6 t1
6 t2
7 Testing
7 Testing
8 table
8 table
9 t2
9 t2
a b
11 table
11 table
12 t1
12 t1
13 Testing
13 Testing
14 table
14 table
15 t2
15 t2
16 Testing
16 Testing
17 table
17 table
18 t2
18 t2
19 Testing
19 Testing
table type possible_keys key key_len ref rows Extra
t3 index NULL a 4 NULL 1131 Using index
a
699
698
697
696
695
694
693
692
691
690
a
416
415
415
414
414
413
413
412
412
411
c
test1
test1
test1
test2
test2
test2
c
test1
test1
test1
test2
test2
test2
c
c
test1
test1
test1
incr othr
incr othr
1 10
2 24
4 33
3 53
c
incr othr
1 10
2 24
4 33
3 53
NULL NULL isnull(null) isnull(1/0) isnull(1/0 = null) ifnull(null,1) ifnull(null,"TRUE") ifnull("TRUE","ERROR") 1/0 is null 1 is not null
NULL NULL 1 1 1 1 TRUE TRUE 1 1
1 | NULL 1 & NULL 1+NULL 1-NULL
NULL NULL NULL NULL
NULL=NULL NULL<>NULL IFNULL(NULL,1.1)+0 IFNULL(NULL,1) | 0
NULL NULL 1.1 1
strcmp("a",NULL) (1<NULL)+0.0 NULL regexp "a" null like "a%" "a%" like null
NULL NULL NULL NULL NULL
concat("a",NULL) replace(NULL,"a","b") replace("string","i",NULL) replace("string",NULL,"i") insert("abc",1,1,NULL) left(NULL,1)
NULL NULL NULL NULL NULL NULL
repeat("a",0) repeat("ab",5+5) repeat("ab",-1) reverse(NULL)
abababababababababab NULL
field(NULL,"a","b","c")
0
2 between null and 1 2 between 3 AND NULL NULL between 1 and 2 2 between NULL and 3 2 between 1 AND null
0 0 NULL NULL NULL
NULL AND NULL 1 AND NULL NULL AND 1 NULL OR NULL 0 OR NULL NULL OR 0
NULL NULL NULL NULL NULL NULL
(NULL OR NULL) IS NULL
1
NULL AND 0 0 and NULL
NULL 0
inet_ntoa(null) inet_aton(null) inet_aton("122.256") inet_aton("122.226.") inet_aton("")
NULL NULL NULL NULL NULL
x
table type possible_keys key key_len ref rows Extra
t1 ref a a 5 const 3 where used; Using index
table type possible_keys key key_len ref rows Extra
t1 ref a,b a 9 const,const 1 where used; Using index
table type possible_keys key key_len ref rows Extra
t1 ref a,b a 9 const,const 1 where used; Using index
table type possible_keys key key_len ref rows Extra
t1 const a,b a 9 const,const 1
table type possible_keys key key_len ref rows Extra
t1 index NULL a 8 NULL 12 where used; Using index
table type possible_keys key key_len ref rows Extra
t1 range a,b a 9 NULL 3 where used; Using index
table type possible_keys key key_len ref rows Extra
t1 ref a,b b 4 const 2 where used
table type possible_keys key key_len ref rows Extra
t1 ref a,b a 5 const 3 where used; Using index
table type possible_keys key key_len ref rows Extra
t1 range a,b a 9 NULL 2 where used; Using index
table type possible_keys key key_len ref rows Extra
t1 range a a 5 NULL 1 where used; Using index
table type possible_keys key key_len ref rows Extra
t1 range a a 5 NULL 1 where used; Using index
a b
NULL 7
NULL 9
NULL 9
a b
NULL 7
a b
1 1
2 2
a b
1 1
2 2
a b
NULL 9
NULL 9
a b
NULL 7
7 7
a b
NULL 7
NULL 9
NULL 9
table type possible_keys key key_len ref rows Extra
t1 ref a,b a 5 const 3 where used
table type possible_keys key key_len ref rows Extra
t1 ref a,b a 5 const 3 where used
table type possible_keys key key_len ref rows Extra
t1 ref a,b a 5 const 3 where used
table type possible_keys key key_len ref rows Extra
t1 ref a,b a 5 const 1 where used
table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL 12 where used
table type possible_keys key key_len ref rows Extra
t1 range a,b a 5 NULL 12 where used
table type possible_keys key key_len ref rows Extra
t1 range a,b a 5 NULL 4 where used
table type possible_keys key key_len ref rows Extra
t1 ref a,b a 5 const 3 where used
table type possible_keys key key_len ref rows Extra
t1 ref a,b a 5 const 3 where used
table type possible_keys key key_len ref rows Extra
t1 range a a 5 NULL 1 where used
table type possible_keys key key_len ref rows Extra
t1 range a,b a 5 NULL 4 where used
table type possible_keys key key_len ref rows Extra
t1 range a a 5 NULL 1 where used
table type possible_keys key key_len ref rows Extra
t1 range b b 12 NULL 1 where used
a b c
NULL 7 0
NULL 9 0
NULL 9 0
a b c
NULL 7 0
a b c
1 1 0
2 2 0
a b c
1 1 0
2 2 0
a b c
NULL 9 0
NULL 9 0
a b c
NULL 7 0
7 7 0
a b c
NULL 7 0
NULL 9 0
NULL 9 0
a b c
6 6 0
{fn length("hello")} 1997-10-20
5 1997-10-20
a b
2 2
a b
Comment
Impossible WHERE noticed after reading const tables
id idservice ordre description
2 1 10 Emettre un appel d'offres
2 3 40000 Crer une fiche de client
2 4 40010 Modifier des clients
2 5 40020 Effacer des clients
2 6 51050 Ajouter un service
2 7 51060 Liste des t2
name
Allan Larsson
David Axmark
Michael Widenius
name
Axmark David
Larsson Allan
Widenius Michael
i
1
2
3
i
1
3
2
i
3
2
1
i
3
2
1
i
2
1
3
id col1 col2
4 1 1
3 1 2
5 1 4
2 2 1
1 2 2
6 2 3
8 2 4
7 3 1
col1
2
2
1
1
1
2
3
2
id
1
1
1
2
2
2
2
3
id
2
2
1
1
1
2
3
2
test
1
2
3
7
a b if(b = 1,i,if(b = 2,v,''))
1 1 50
2 1 25
3 2 123 Park Place
4 2 453 Boardwalk
a b if(b = 1,i,if(b = 2,v,''))
1 1 50
2 1 25
3 2 123 Park Place
4 2 453 Boardwalk
DateOfAction TransactionID
1999-07-18 486
1999-07-19 87
1999-07-19 89
1999-07-19 92
1999-07-19 94
1999-07-27 828
1999-07-27 832
1999-07-27 834
1999-07-27 840
2000-03-27 490
2000-03-28 753
DateOfAction TransactionID
1999-07-19 87
1999-07-19 89
1999-07-19 92
1999-07-19 94
1999-07-18 486
2000-03-27 490
2000-03-28 753
1999-07-27 828
1999-07-27 832
1999-07-27 834
1999-07-27 840
count(*)
450
count(*)
450
count(*)
450
count(*)
450
event_date type event_id
1999-07-10 100100 24
1999-07-11 100100 25
1999-07-13 100600 0
1999-07-13 100600 4
1999-07-13 100600 26
1999-07-14 100600 10
Comment
Impossible WHERE
event_date type event_id
1999-07-10 100100 24
1999-07-11 100100 25
1999-07-13 100600 0
1999-07-13 100600 4
1999-07-13 100600 26
1999-07-14 100600 10
1999-07-15 100600 16
YEAR ISSUE
1999 29
1999 30
1999 31
1999 32
1999 33
1999 34
1999 35
Table Op Msg_type Msg_text
test.t1 check status OK
Table Op Msg_type Msg_text
test.t1 repair status OK
id parent_id level
3 1 1
4 1 1
2 1 1
6 1 1
7 1 1
5 1 1
id parent_id level
2 1 1
3 1 1
4 1 1
5 1 1
6 1 1
7 1 1
Satellite SensorMode FullImageCornersUpperLeftLongitude FullImageCornersUpperRightLongitude FullImageCornersUpperRightLatitude FullImageCornersLowerRightLatitude
OV-3 PAN1 91 -92 40 50
aString
baaa
believe
believe in love
aString
believe in myself
aString
baaa
believe
believe in love
aString
believe in myself
3 table 3
3 table 3
1 table 1
1 table 1
Tables_in_test (t_)
t1
t2
t3
1 table 1
1 table 1
2 table 2
2 table 2
3 table 3
3 table 3
sum(length(word)) sum(length(word))
71 71
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.words check status OK test.words check status OK
name age id name age id
Andy 31 00000001 Andy 31 00000001
Jacob 2 00000002 Jacob 2 00000002
Caleb 1 00000003 Caleb 1 00000003
unix_timestamp(t) unix_timestamp(t)
200006 200006
Variable_name Value Variable_name Value
Slave_open_temp_tables 0 Slave_open_temp_tables 0
Variable_name Value Variable_name Value
Slave_open_temp_tables 0 Slave_open_temp_tables 0
File Position Binlog_do_db Binlog_ignore_db File Position Binlog_do_db Binlog_ignore_db
master-bin.001 73 master-bin.001 73
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 1 73 Yes 127.0.0.1 root 9306 1 73 Yes
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 1 73 No 127.0.0.1 root 9306 1 73 No
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 1 73 Yes 127.0.0.1 root 9306 1 73 Yes
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 1 173 Yes 127.0.0.1 root 9306 1 173 Yes
File Position Binlog_do_db Binlog_ignore_db File Position Binlog_do_db Binlog_ignore_db
master-bin.001 73 master-bin.001 73
n n
1 1
2 2
3 3
File Position Binlog_do_db Binlog_ignore_db File Position Binlog_do_db Binlog_ignore_db
master-bin.001 73 master-bin.001 73
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
0 0 0 No 0 0 0 No
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 test 3306 60 4 No 127.0.0.1 test 3306 60 4 No
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 60 4 No 127.0.0.1 root 9306 60 4 No
Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db Master_Host Master_User Master_Port Connect_retry Log_File Pos Slave_Running Replicate_do_db Replicate_ignore_db
127.0.0.1 root 9306 60 4 Yes 127.0.0.1 root 9306 60 4 Yes
n n
10 10
45 45
90 90
s s
Could not break slave Could not break slave
Tried hard Tried hard
Log_name Log_name
master-bin.001 master-bin.001
master-bin.002 master-bin.002
master-bin.003 master-bin.003
Log_name Log_name
master-bin.003 master-bin.003
m m
34 34
67 67
123 123
65 65
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment