当我在表中输入值时,允许主键为空

  • 本文关键字:许主键 phpmyadmin null
  • 更新时间 :
  • 英文 :


我使用phpmyadmin创建数据库,但是当我在表中输入值时,允许主键是null的,尽管不是这样创建的。为什么会发生这种情况?请参阅下面的phpmyadmin的创建表语句:

CREATE TABLE `subscriber` (  
    `first_name` varchar(100) NOT NULL,  
    `last_name` varchar(100) NOT NULL,  
    `phone_number` varchar(8) NOT NULL,  
    `node_name` varchar(50) NOT NULL,  
    `node_number` int(5) NOT NULL,  
    `shelf` int(5) NOT NULL,  
    `card` int(5) NOT NULL,  
    `port` int(5) NOT NULL,  
    `ONT` int(5) NOT NULL,  
    `registration_id` int(5) NOT NULL,  
    `comment` text NOT NULL,  
    PRIMARY KEY (`phone_number`) ) 
ENGINE=InnoDB DEFAULT CHARSET=latin1

您的主要密钥是text

主键是列或一组列,可唯一标识表中的每一行。定义表的主键时,必须遵循以下规则:

主键必须包含唯一的值。

如果主要密钥由多列组成,则这些列中值的组合必须是唯一的。

主键列不能包含空值。这意味着您必须用"非null属性"声明主键列。

如果您不这样做,MySQL会迫使主密钥列隐含地为无效。表只有一个主键。

由于mySQL与整数使用更快,因此主键列的数据类型应为整数,例如,int,bigint.you可以选择较小的整数类型:tinyint,smallint,smallint等。

相关内容

  • 没有找到相关文章

最新更新