mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
65 lines
1.3 KiB
PHP
65 lines
1.3 KiB
PHP
#
|
|
# NULL attribute and DEFAULT NULL in columns
|
|
#
|
|
# Usage:
|
|
# let $col_definition = <column type (and possibly more options)>;
|
|
# let $col_default = <default non-null value for a column>;
|
|
# --source col_null.inc
|
|
#
|
|
# We will add NULL at the end of $col;
|
|
#
|
|
# Also, if $col_default is defined,
|
|
# we will create a table with 3 columns (one with DEFAULT NULL,
|
|
# one with DEFAULT $col_default, and one without any default)
|
|
#
|
|
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1;
|
|
--enable_warnings
|
|
|
|
--let $create_definition = c $col_definition NULL
|
|
--source create_table.inc
|
|
SHOW COLUMNS IN t1;
|
|
if ($mysql_errname)
|
|
{
|
|
--source unexpected_result.inc
|
|
}
|
|
if (!$mysql_errname)
|
|
{
|
|
INSERT INTO t1 (c) VALUES (NULL);
|
|
if ($mysql_errname)
|
|
{
|
|
--let $functionality = NULLable columns
|
|
--source unexpected_result.inc
|
|
}
|
|
SELECT COUNT(c), COUNT(*) FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
}
|
|
|
|
if ($col_default != '')
|
|
{
|
|
let $create_definition =
|
|
c $col_definition NULL,
|
|
c1 $col_definition NULL DEFAULT NULL,
|
|
c2 $col_definition NULL DEFAULT $col_default
|
|
;
|
|
--source create_table.inc
|
|
if ($mysql_errname)
|
|
{
|
|
--source unexpected_result.inc
|
|
}
|
|
if (!$mysql_errname)
|
|
{
|
|
SHOW COLUMNS IN t1;
|
|
|
|
INSERT INTO t1 (c) VALUES (NULL);
|
|
SELECT COUNT(c2), COUNT(c1), COUNT(c), COUNT(*) FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
}
|
|
}
|
|
|
|
# We don't want to preserve it
|
|
let $col_default = ;
|
|
|