Mysql自动增量不增量
我有这张桌子:Mysql自动增量不增量,mysql,null,auto-increment,default-value,Mysql,Null,Auto Increment,Default Value,我有这张桌子: mysql>desc客户 +------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+------------------+------+-----+---------+-------+ | CustomerID | int(10) unsigned |
mysql>desc客户代码>
+------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+---------+-------+
| CustomerID | int(10) unsigned | NO | PRI | NULL | |
| Name | char(50) | NO | | NULL | |
| Address | char(100) | NO | | NULL | |
| City | char(30) | NO | | NULL | |
+------------+------------------+------+-----+---------+-------+
现在,如果要插入示例数据:
mysql> insert into Customers values(null, 'Julia Smith', '25 Oak Street', 'Airport West');
ERROR 1048 (23000): Column 'CustomerID' cannot be null
我知道我不能将ID设为null,但mysql的任务应该是设置它的数字并增加它们。因此,我尝试不指定id:
mysql> insert into Customers (Name, Address, City) values('Julia Smith', '25 Oak Street', 'Airport West');
Field 'CustomerID' doesn't have a default value
现在我陷入了陷阱。我不能将id设为null(对于mysql来说是“incrementmyid”),也不能省略它,因为没有默认值。那么,我应该如何使mysql在新插入中为我处理ID呢?主键意味着每个CustomerID都必须是唯一的。您还将其定义为NOTNULL,因此不允许插入NULL
而不是>|CustomerID | int(10)unsigned | NO | PRI | NULL|
成功
CustomerID BIGINT AUTO_INCREMENT PRIMARY KEY
您可以毫无问题地输入数据
ALTER TABLE table_name MODIFY CustomerID BIGINT AUTO_INCREMENT PRIMARY KEY
@米兰
从表中删除CustomerID变量。并使用以下详细信息再次添加此字段:
字段:CustomerID,
类型:BIGINT(10),
默认值:无,
自动增量:勾选复选框
单击“保存”按钮将此新字段保存在表中。现在我希望它能在插入新唱片时起作用。谢谢。您的创建表查询是什么样子的?MySQL的任务是仅为设置为auto\u increment
的字段增加数字。如果您的CustomerID
是auto_increment
,您会在Extra
列中看到它。您的字段没有auto_increment
。这是否回答了您的问题?