用戶表中的列和觸發器結構
CREATE TABLE `users` (
`created_in` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
| 扳機 | 事件 | 桌子 | 陳述 | 定時 |
|---|---|---|---|---|
| ... | 插入 | 用戶 | IF NEW.created_in = "" THEN SIGNAL SQLSTATE "45000"; 萬一 |
前 |
如果 created_in 列沒有但不起作用,我正在嘗試取消插入。
如何檢查 created_in 列是否為空?
MySQL的版本是5.7
uj5u.com熱心網友回復:
不需要觸發,會話嚴格模式就足夠了:
set session sql_mode = '';
CREATE TABLE `users` ( `created_in` date NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; insert into users values (''); select * from users;| created_in | | :--------- | | 0000-00-00 |
set session sql_mode = 'STRICT_ALL_TABLES';
insert into users values ('');日期值不正確:第 1 行的列“created_in”的“”
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/483428.html
上一篇:按名稱查找多級類別的id
