sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag aktivera strikt sql_mode i MySQL?

Du har i princip två sätt att göra det, att använda SQL-kommandot eller ändra konfigurationsfilen. Om du ställer in det med SQL-kommandot - kommer det att ändras tillbaka efter att servern har startat om.

Gör det i SQL:

SET GLOBAL sql_mode='STRICT_TRANS_TABLES';

Gör det i konfigurationsfilen:

[mysqld] sql_mode="STRICT_TRANS_TABLES"

Filplatsen varierar beroende på ditt operativsystem, mer om var du hittar den här:https://dev.mysql.com/doc/refman/5.7/en/option-files.html

Viktigt att notera att du kan ha flera lägen specificerade:

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

detta är särskilt viktigt när du använder SQL-sats, eftersom det kan åsidosätta hela din lägessträng.

Mer om SQL-lägen här:https://dev. mysql.com/doc/refman/5.7/en/sql-mode.html



  1. SQL:hur ordnar jag efter ett fält om det inte är null annars använd ett annat fält

  2. Fyll i PHP Array från While Loop

  3. 4 sätt att få definitionen av en lagrad procedur med Transact-SQL

  4. Oracle hittar en begränsning