php - 在现有 MySQL 数据库上填充自动递增类型 ID?

标签 php mysql sql

我有一个可用 PHP 访问的现有 MySQL 数据库。大约有 15,000 条记录,我需要快速进入并更新刚刚添加的新 Design Number 列。我需要迭代整个数据集并将第一条记录的值设置为 00001,下一个记录为 00002,并一直递增 1 直到结束。我有适当的代码来确保所有新记录都将应用此功能,但我需要快速更新现有的 15,000 条记录。

有没有在 MySQL 中快速执行此操作而无需构建 PHP 脚本来快速填充所有旧记录的方法?

请记住,这不是 MySQL 中的常规自动增量归档,而是模拟 SugarCRM 中该功能的自定义实现

我需要迭代这个表...

SELECT designnumber_c FROM d1_designs_cstm

然后更新此 designnumber_c 列并为每条记录增加 +1,同时保持 00001 0 填充

最佳答案

像这样:

mysql> SET @id := 0;
mysql> UPDATE d1_designs_cstm SET designnumber_c = LPAD(@id:=@id+1, 6, '0');

关于php - 在现有 MySQL 数据库上填充自动递增类型 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22431706/

相关文章:

php - 使用 Ajax 实时更改数据库

php - 如何解决 Apache 2.4 和 PHP 7.1 上 Chrome 中的跨站点 Google Analytics cookie `SameSite=None` 警告?

php - 带 explode 的多选 : only returns the word "Array"

php - JsTree v1.0 - 如何有效地操作后端的数据来渲染树并正确操作?

php - php中的分页限制数据但不显示在下一页中

mysql - 如何通过一个查询更新多行?

java - hibernate - 约束名称

sql - 计算两个日期之间的完整月份

php - 软件架构: Service Dependency - Inject Container or concret class

php - 没有使用android从服务器获取值(value)到我的Textview