<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CHECK on 얼쑤 · Team Edo</title><link>https://team-edo.github.io/tags/check/</link><description>Recent content in CHECK on 얼쑤 · Team Edo</description><generator>Hugo</generator><language>ko-kr</language><lastBuildDate>Wed, 28 Oct 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://team-edo.github.io/tags/check/index.xml" rel="self" type="application/rss+xml"/><item><title>녹음 정보 한 칸이 비어도 CHECK가 통과한 이유</title><link>https://team-edo.github.io/posts/2026/10/mysql-check-unknown-recording-metadata/</link><pubDate>Wed, 28 Oct 2026 00:00:00 +0900</pubDate><guid>https://team-edo.github.io/posts/2026/10/mysql-check-unknown-recording-metadata/</guid><description>&lt;p>연습 세션은 녹음이 올라오기 전에 먼저 만들어집니다. 그래서 파일 크기, 길이, 샘플레이트, 채널 수는 처음에는 모두 비어 있을 수 있습니다. 업로드를 마친 뒤에는 네 값이 모두 양수여야 합니다. 이 두 가지 상태만 허용하도록 MySQL에 &lt;code>CHECK&lt;/code>를 추가했습니다.&lt;/p>
&lt;h2 id="양수-비교는-null을-거짓으로-만들지-않는다">NULL과 양수 비교가 만든 UNKNOWN&lt;/h2>
&lt;p>처음 식은 네 칸이 모두 비었거나, 네 칸 모두 0보다 크면 허용하는 모양이었습니다. 그런데 채널 수만 NULL로 바꾼 테스트 행이 저장됐습니다. 네 칸 모두 비었다는 조건은 거짓이었지만, &lt;code>NULL &amp;gt; 0&lt;/code>은 거짓 대신 SQL의 &lt;code>UNKNOWN&lt;/code>이 됩니다. 그 결과 식 전체도 &lt;code>UNKNOWN&lt;/code>이었고, MySQL의 &lt;code>CHECK&lt;/code>는 평가가 거짓일 때 위반으로 처리합니다.&lt;/p></description></item></channel></rss>