# MySQL ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled

**Code:** `1418` · **Category:** MySQL · **Seen on:** MySQL

Creating a stored function failed because binary logging requires it to declare its data access characteristics.

## Meaning

With binlog enabled, MySQL needs functions marked DETERMINISTIC / READS SQL DATA, or log_bin_trust_function_creators=1.

## Common causes

- Function missing characteristics
- Importing routines on a replicated/managed server

## Quick fix

1. Add DETERMINISTIC / READS SQL DATA to the function
2. Set log_bin_trust_function_creators=1 (parameter group on RDS)

## Detailed fix by platform

### MySQL

1. `CREATE FUNCTION f(x INT) RETURNS INT DETERMINISTIC RETURN x * 2;`

## How to diagnose

1. **Function** — Declared characteristics?
2. **Recent change** — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/mysql/1418-function-deterministic-binary-logging)
