Configuring Global SQL Mode in MySQL
Setting SQL mode is a crucial aspect of database configuration. When attempting to set multiple SQL modes globally, users may encounter errors. This article explores the proper method for setting multiple SQL modes, the advantages of using session and global modes, and which approach is preferred.
Setting Global SQL Mode
To set global SQL mode, modify the /etc/mysql/my.cnf configuration file and add the following line to the [mysqld] section:
sql-mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"
Advantages of Session and Global Modes
Preferred Approach
Global modes are preferred when consistent SQL behavior is desired across multiple users. They remove the burden of setting modes for each session and help enforce standards.
Use Case for Global Mode
In your scenario, setting a global 'NO_BACKSLASH_ESCAPES' mode makes sense to prevent users from updating the database with unsafe UNC values. This ensures consistency and security.
Important Note for Newer MySQL Versions
MySQL versions 5.7.8 and above use a slightly different syntax for setting SQL mode:
[mysqld] sql-mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"
Remember to check the MySQL documentation for your specific version to determine the available SQL mode options.
The above is the detailed content of How to Properly Configure Multiple Global SQL Modes in MySQL?. For more information, please follow other related articles on the PHP Chinese website!