Java + SQL
ฉันคิดว่าสิ่งนี้ตรงกับเป้าหมายของคำถามที่ดีกว่า - นั่นคือการแตกโดยไม่ตั้งใจ
สมมติว่านี่เป็นแอปพลิเคชั่นสำหรับการลงทะเบียนเกิดซึ่งพวกเขาจะบันทึกทารกเกิดใหม่ลงในฐานข้อมูลและออกสูติบัตร "อัจฉริยะ" บางคนออกแบบโต๊ะแบบนี้:
CREATE TABLE birth (
year CHAR(2),
month CHAR(2),
date CHAR(2),
surname VARCHAR(50),
...
)
และแอปพลิเคชัน java สำหรับการลงทะเบียนการเกิดมีรหัสบางอย่างตามแนวของ:
public void recordNewBirth(...) {
...
executeQuery("INSERT INTO birth VALUES(?, ?, ?, ?, ...)", date.getYear(), date.getMonth(), date.getDate(), surname, ...);
}
จากนั้น INSERT จะเริ่มล้มเหลวในปี 2000 และไม่มีใครได้รับสูติบัตรอีกต่อไป เหตุผล - java.util.Date # getYear () ส่งคืนปีลบ 1900 ซึ่งมี 3 หลักเริ่มต้นในปี 2000