如何解决MySQL自动增量不增量
我有这张桌子:
months[months.indexOf("April")] = 'newVal';
mysql> desc Customers;
现在,如果要插入示例数据:
+------------+------------------+------+-----+---------+-------+
| 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 | |
+------------+------------------+------+-----+---------+-------+
我知道我不能使ID为空,但这应该是mysql的工作,以设置其编号并递增它们。因此,我尝试简单地不指定ID:
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在新插入中为我处理id?
解决方法
主键意味着每个客户ID必须是唯一的。并且您也将其定义为NOT NULL,因此不允许INSERT为NULL
而不是> |客户编号| int(10)无符号|否| PRI | NULL |
制作
CustomerID BIGINT AUTO_INCREMENT PRIMARY KEY
您可以毫无问题地输入数据
ALTER TABLE table_name MODIFY CustomerID BIGINT AUTO_INCREMENT PRIMARY KEY
,
@米兰,
从表中删除CustomerID变量。然后使用以下详细信息再次添加该字段:
字段:CustomerID, 类型:BIGINT(10), 默认值:无, 自动递增:在复选框中打勾
单击“保存”按钮以将该新字段保存在表中。现在,我希望它在插入新记录时会起作用。谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。