0

我有一个数据库,我正在通过应用程序访问它。该应用程序采用包括空白在内的所有类型的值(我的错误:( 应该只在我的应用程序中限制它)。我想运行一个脚本来阻止它的条目空值到我的数据库。

例如: Books 是我的数据库,包含作者、价格、标题列我想阻止空作者姓名条目,我使用了如下所示的触发器;

分隔符 |

CREATE TRIGGER trigger1  AFTER INSERT ON books
  FOR EACH ROW BEGIN
    IF NEW.author = '' THEN    
    delete from books where author = '';
    END IF;      
  END;
|books
DELIMITER ;

该脚本满足阻止空值的目标,但有一些不一致(在某些点之后我根本无法访问数据库,我既不能输入值也不能访问一个值)。谁能告诉我可能是什么问题。

4

1 回答 1

0

有多种方法可以实现这一点 -
1)将触发器更改为 BEFORE INSERT,如果作者姓名为空,则返回 false 这将阻止应用程序插入空白作者姓名。

2)更改表架构,并在作者姓名中添加一个非空约束。

请参阅阻止空值条目进入数据库

于 2013-04-15T05:33:24.977 回答