1366 🐬 MySQL

MySQL ERROR 1366 (HY000): Incorrect integer value: '' for column 'x' at row 1

An empty string or non-numeric text was inserted into an INT column under strict mode.

Seen on: MySQL

Meaning

Forms send '' for empty numeric fields. Strict mode (default since 5.7) rejects it instead of storing 0.

Common causes

  • Empty string for numeric fields
  • Non-numeric text
  • Old code relying on non-strict MySQL

⚡ Quick fix

  1. Convert '' to NULL (or 0) in the application
  2. Validate numeric input
  3. Don’t disable strict mode

Detailed fix by platform

PHP

  1. $qty = $_POST['qty'] === '' ? null : (int) $_POST['qty'];

How to diagnose

  1. Value — What was sent?
  2. Column — Nullable?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.