Oracle 5.0 Reference Manual page 559

Table of Contents

Advertisement

PIPES_AS_CONCAT
Treat
[881]
as a string concatenation operator (same as
||
synonym for
[881].
OR
[539]
REAL_AS_FLOAT
Treat
as a synonym for FLOAT. By default, MySQL treats
REAL
STRICT_ALL_TABLES
Enable strict mode for all storage engines. Invalid data values are rejected. Additional detail follows.
(Added in MySQL 5.0.2)
STRICT_TRANS_TABLES
Enable strict mode for transactional storage engines, and when possible for nontransactional storage
engines. Additional details follow. (Implemented in MySQL 5.0.2)
Strict mode controls how MySQL handles input values that are invalid or missing. A value can be
invalid for several reasons. For example, it might have the wrong data type for the column, or it might
be out of range. A value is missing when a new row to be inserted does not contain a value for a
non-NULL
column that has no explicit
inserted if the value is missing.)
For transactional tables, an error occurs for invalid or missing values in a statement when either of the
STRICT_ALL_TABLES
is aborted and rolled back.
For nontransactional tables, the behavior is the same for either mode, if the bad value occurs in the
first row to be inserted or updated. The statement is aborted and the table remains unchanged. If the
statement inserts or modifies multiple rows and the bad value occurs in the second or later row, the
result depends on which strict option is enabled:
• For
STRICT_ALL_TABLES
However, in this case, the earlier rows still have been inserted or updated. This means that you
might get a partial update, which might not be what you want. To avoid this, it is best to use single-
row statements because these can be aborted without changing the table.
• For
STRICT_TRANS_TABLES
for the column and insert the adjusted value. If a value is missing, MySQL inserts the implicit default
value for the column data type. In either case, MySQL generates a warning rather than an error and
continues processing the statement. Implicit defaults are described in
Default
Values".
Strict mode disallows invalid date values such as '2004-04-31'. It does not disallow dates with zero
month or day parts such as
[538]
NO_ZERO_IN_DATE
If you are not using strict mode (that is, neither
STRICT_ALL_TABLES
and produces warnings. In strict mode, you can produce this behavior by using
IGNORE. See
UPDATE
Strict mode does not affect whether foreign key constraints are checked.
foreign_key_checks
The following special modes are provided as shorthand for combinations of mode values from
the preceding list. All are available in MySQL 5.0 beginning with version 5.0.0, except for
[540], which was implemented in MySQL 5.0.2.
TRADITIONAL
Server SQL Modes
[539]
[539]
[539]
DEFAULT
[539]
or
STRICT_TRANS_TABLES
[539], MySQL returns an error and ignores the rest of the rows.
[539], MySQL converts an invalid value to the closest valid value
or "zero" dates. To disallow these as well, enable the
'2004-04-00'
and
NO_ZERO_DATE
[539]
is enabled), MySQL inserts adjusted values for invalid or missing values
Section 13.7.5.37,
"SHOW WARNINGS
[451]
can be used for that. (See
539
CONCAT()
REAL
clause in its definition. (For a
[539]
modes are enabled. The statement
[538]
SQL modes in addition to strict mode.
STRICT_TRANS_TABLES
Syntax".
Section 5.1.4, "Server System
[887]) rather than as a
as a synonym for DOUBLE.
column,
NULL
NULL
Section 11.1.7, "Data Type
[539]
nor
INSERT IGNORE
Variables".)
is
or

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mysql 5.0

Table of Contents