mysql - 必填项 mysql

标签 mysql sql

如何确保该字段是必填字段?这就是我的意思

我有以下 mysql 表结构:

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, 'm', '');

但是查询运行正常。如果电话字段没有数据,应该怎么做才能让mysql返回错误?我可以通过 php 进行验证,但我很好奇如何在 mysql 中进行验证。

最佳答案

可能将 'phone' 列的默认值设置为 NULL 会使其插入失败,因为如果您未指定它,它将最终为 null。

否则您将需要省略电话列以使默认值生效,比如说在 php 中您会使用 empty($phone) ?空:$电话;或类似的东西。

关于mysql - 必填项 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6422381/

相关文章:

PHP 面向对象 : mysql_connect not returning false when wrong information passed

mysql - SQL实体,多重关系

mysql - 在 MySQL 中,如何将一个现有表拆分为多个新的相关表?

sql - 如何将海量数据查询拆分为多个查询

sql - 在 View 中动态更新

mysql - 使用动态列名进行分组和求和

php - 从 mysql schemata 的版本控制开始,不要矫枉过正。好的解决方案?

mysql - 错误: Unknown column <value> in 'where clause'

sql - 方括号在表达式中按预期运行

mysql - 触发因素:足球队训练问题