[英]How can I check if the created_in column is none or not inside triggers?
用戶表中的列和觸發器結構
CREATE TABLE `users` (
`created_in` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
扳機 | 事件 | 桌子 | 陳述 | 定時 |
---|---|---|---|---|
... | 插入 | 用戶 | 如果 NEW.created_in = "" 那么 信號 SQLSTATE "45000"; 萬一 |
前 |
如果 created_in 列沒有但不起作用,我正在嘗試取消插入。
如何檢查 created_in 列是否為空?
MySQL的版本是5.7
不需要觸發,會話嚴格模式就足夠了:
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<> 在這里擺弄
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.