For efficiency, the mysqltest test engine
does not start with a clean new database for running each test
case, so a test case generally starts with a âcleaning up
section.â Assume that a test case will use two tables
named t1 and t2. The test
case should begin by making sure that any old tables with those
names do not exist:
#
# Test of XXXXX
#
--disable_warnings
DROP TABLE IF EXISTS t1,t2;
--enable_warnings
The disable_warnings command instructs the
test engine not to log any warnings until an
enable_warnings command occurs or the test
case is ended. (MySQL generates a warning if the table
t1 or t2 does not exist.)
Surrounding this part of the test case with commands to disable
and enable warnings makes its output the same regardless of
whether the tables exist before the test is started. After
ensuring that the tables do not exist, we are free to put in any
SQL statements that create and use the tables
t1 and t2. The test case
should also clean up at the end of the test by dropping any
tables that it creates.
Let's put in some SQL code into this test case:
CREATE TABLE t1 (
Period SMALLINT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
Varor_period SMALLINT(4) UNSIGNED DEFAULT '0' NOT NULL
);
CREATE TABLE t2 (Period SMALLINT);
INSERT INTO t1 VALUES (9410,9412);
INSERT INTO t2 VALUES (9410),(9411),(9412),(9413);
SELECT PERIOD FROM t1;
SELECT * FROM t1;
SELECT t1.* FROM t1;
SELECT * FROM t1 INNER JOIN t2 USING (Period);
DROP TABLE t1, t2;