DB 오류 / no such table / FIELD
로컬은 되는데 서버만 깨지거나, SQL 함수 오류가 날 때예요.
DB 오류
no such table
왜 생기나요?
데이터베이스 종류가 다르거나(마이그레이션을 안 돌렸거나), MySQL 전용 SQL을 SQLite에서 실행한 경우가 많아요.
이렇게 확인해 보세요
- `.env`의 `DB_CONNECTION`이 sqlite인지 mysql인지 확인하세요.
- `php artisan migrate`를 서버에서도 실행했는지 확인하세요.
- 오류 메시지에 `FIELD(`가 있으면 SQLite에서 지원하지 않는 MySQL 함수입니다.
이렇게 고치면 돼요
- 정렬이 필요하면 `FIELD()` 대신 `CASE status WHEN ... END`처럼 양쪽에서 되는 SQL을 쓰세요.
- 테이블이 없으면 서버에서 마이그레이션을 실행하세요. 운영 DB를 함부로 지우지는 마세요.
- 로컬과 서버의 DB 종류를 맞춰 두면 이런 오류가 줄어듭니다.
AI에게 이렇게 물어보세요
ChatGPT, Claude, Codex에 그대로 붙여넣으면 돼요. 이 사이트는 AI 계정을 대신 쓰지 않아요.
코딩 초보자입니다. 데이터베이스 오류가 납니다. 운영은 SQLite일 수 있습니다. [오류] sqlite no such table MySQL 전용 문법인지, 마이그레이션 누락인지 구분해 주세요. 데이터 삭제 명령은 제안하지 마세요.
코딩 초보자입니다. 데이터베이스 오류가 납니다. 운영은 SQLite일 수 있습니다.
[오류]
sqlite no such table
MySQL 전용 문법인지, 마이그레이션 누락인지 구분해 주세요. 데이터 삭제 명령은 제안하지 마세요.