ตารางของฉันดูเหมือน
create table try ( name varchar(8), CREATED_BY varchar(40) not null);
จากนั้นฉันมีทริกเกอร์ให้เติมข้อมูลในฟิลด์ CREATED_BY โดยอัตโนมัติ
create trigger autoPopulateAtInsert BEFORE INSERT on try for each row set new.CREATED_BY=user();
เมื่อฉันทำการแทรกโดยใช้
insert into try (name) values ('abc');
รายการถูกสร้างขึ้นในตาราง แต่ฉันยังคงได้รับข้อความแสดงข้อผิดพลาด
Field 'CREATED_BY' doesn't have a default value Error no 1364
มีวิธีระงับข้อผิดพลาดนี้โดยไม่ทำให้ฟิลด์ว่างเปล่าและโดยไม่ต้องลบทริกเกอร์ออกหรือไม่ มิฉะนั้นโหมดไฮเบอร์เนตของฉันจะเห็นข้อยกเว้นเหล่านี้ (แม้ว่าจะมีการแทรกแล้วก็ตาม) จากนั้นแอปพลิเคชันจะหยุดทำงาน