Mysql 触发失败查询
如果某些字段没有数据,如何创建触发器(mysql)使sql查询失败 这是我的桌子Mysql 触发失败查询,mysql,Mysql,如果某些字段没有数据,如何创建触发器(mysql)使sql查询失败 这是我的桌子 CREATE TABLE `new` ( `id` int(11) DEFAULT NULL, `name` int(11) DEFAULT NULL, `phone` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 假设我有这个疑问 INSERT INTO new values(1, 'Bu', ''); 如果没有电话字段的数据,我希
CREATE TABLE `new` (
`id` int(11) DEFAULT NULL,
`name` int(11) DEFAULT NULL,
`phone` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
假设我有这个疑问
INSERT INTO new values(1, 'Bu', '');
如果没有电话字段的数据,我希望该查询失败。电话字段声明为int,因此您将发送并使用此字符
INSERT INTO new values(1, 'Bu', o);
您可以将phone的属性更改为varchar(),或者至少删除notnull属性,以便插入NULL值
INSERT INTO new values(1, 'Bu', NULL);
或
为什么不插入空字符串而不是
INSERT
NULL,就像这里推荐的那样它不起作用,因为phone字段被清除为phone
int(11)NOT NULL,所以它可能永远不会完全为NULL!您之前说过“如果电话字段没有数据,我希望该查询失败。”是的,它不会工作,因为它会失败。嗯,这是一个误解:(@georgevich,我误解了您的问题。您的Insert语句会失败,因为它在寻找int值。所以请忽略我的帖子
INSERT INTO new (`id`, `name`) values(1, 'Bu');