mysql如何在导入数据的同时再增加一列并且为这一列赋予全局唯一编号?

老实说,你的问题很具体。
我在做数据库维护的时候经常遇到这个问题。
在MySQL中添加列;使用更改表。
例如,假设您有一个名为 user 的表,并且想要添加电子邮件字段;
写sql就可以了。
更改表用户添加列电子邮件 VARCHAR(2 5 5 ) NOT NULL;
该语句将在用户表的末尾添加一个电子邮件列。
默认为 NULL 并且不能为空。
想要设置位置吗?你可以写sql。
更改表用户添加列电子邮件 VARCHAR(2 5 5 ) 用户名后不为空;
假设用户名是现有列,则新添加的电子邮件将排名在用户名之后。
定位功能实际上用得不多,但它确实存在。
过去,它实际上是用来在 ERP 系统中更改表结构时保留列顺序的。

有趣的是,如果表中的数据量特别大。
这个ALTER TABLE操作可以锁定整个表。
当向具有数百条记录的表添加列时;我记得整个应用层卡了半个多小时。
后来我们使用在线DDL工具进行了修改,效率更高。
我个人没有在这方面使用 PostgreSQL,但 MySQL 的 InnoDB 引擎存在此漏洞。

数据类型的选择取决于实际情况。
VARCHAR(2 5 5 ) 是最常见的;但如果您知道该列并存储数字,请使用 INT 或 BIGINT 来节省空间。
当时我不明白为什么有些人将所有列都写为 TEXT 类型。
感觉查询效率会变差。

mysql 的表已经存在,但是我现在想添加一列 自动增长列

哎,你说这个改表操作真是头疼啊。

比如你说的,临时表temp中,ID本来就是主键。
现在你想再次改变它。
你想把ID改成int类型,它会自动增长。
命令写法如下:
sql 工作台温度改变 修改 id INT 自动递增主键;
请注意,这里使用的是 MODIFY,而不是 CHANGE。
ALTER TABLE 后跟表名 temp,然后使用 MODIFY 更改 ID 列。
将其更改为 INT 类型、自动增长 AUTO_INCRMENT 和主键 PRIMARY KEY。

按照你的写法,ALTER TABLE temp CHANGE id id INT AUTO_INCRMENT;说实话,有点单调。
ID已经是ID了。
怎么再次更改ID?绝对不是。

所以正确的操作是将CHANGE替换为MODIFY。
这样,ID就变成了自增的INT类型,并且仍然是主键。

如果id本来不是主键,现在想让它成为主键并自动增长,命令类似:
sql 工作台温度改变 修改 id INT 自动递增主键;
简而言之,请记住一件事:使用 MODIFY 更改列属性,而不是使用 CHANGE。
更改后查看表结构,看ID是否变成了自增INT类型,并且仍然是主键。

我以前做过这个过程,确实很容易混淆。
特别是临时表,有时只有几个字段,很容易褪色。
因此,命令写完后看两遍或者直接查看数据库中的表结构会比较安全。