Mysql autoincrement 不自增

Mysql autoincrement does not increment

我有这个 table:

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    |       |
+------------+------------------+------+-----+---------+-------+

现在,如果我想插入示例数据:

mysql> insert into Customers values(null, 'Julia Smith', '25 Oak Street', 'Airport West');
ERROR 1048 (23000): Column 'CustomerID' cannot be null

我知道我不能让 ID 为空,但这应该是 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“增加我的 ID”),我不能省略它,因为没有默认值。那么我应该如何让 mysql 为我处理新插入的 ID?

主键意味着每个 CustomerID 都必须是唯一的。并且您也将其定义为 NOT NULL,因此不允许插入 NULL

而不是 >|客户ID | int(10) 无符号 |否 |优先级 |空 |

成功

CustomerID  BIGINT AUTO_INCREMENT PRIMARY KEY

并且您可以毫无问题地输入数据

ALTER TABLE table_name MODIFY CustomerID BIGINT  AUTO_INCREMENT PRIMARY KEY

@米兰,

从 table 中删除 CustomerID 变量。并使用以下详细信息再次添加此字段:

字段:客户ID, 类型:BIGINT(10), 默认值:None, Auto_increment:勾选复选框

单击“保存”按钮将这个新字段保存在 table 中。现在我希望它能在插入新记录时起作用。谢谢。