如何在 mysql 中将主键从 null 更改为 not null?

how to change primary key from null to not null in mysql?

我有以下table

create table ooor (
 id int(10) PRIMARY KEY,
 name varcha(20),
 city varchar(20) UNIQUE KEY
                  );

并且其显示的主键值为空,我希望在不删除 table.
的情况下将其值更改为非空 那么,我该怎么做呢??

来自

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int         | NO   | PRI | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
| city  | varchar(20) | YES  | UNI | NULL    |       |
+-------+-------------+------+-----+---------+-------+

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int         | NO   | PRI | NOT NULL|       |
| name  | varchar(20) | YES  |     | NULL    |       |
| city  | varchar(20) | YES  | UNI | NULL    |       |
+-------+-------------+------+-----+---------+-------+

注意:我知道其具有主键值的列默认情况下不为空,我想更改其写入值(NULL 为 NOT NULL)。

使用 Heidi Sql 实际执行您刚才所说的,这是为完成您的要求而执行的命令。这不需要您重新制作 table 或任何东西。它只是改变了 table 所在的位置。

ALTER TABLE `ooor`
CHANGE COLUMN `id` `id` INT(50) NOT NULL