MySQL 怎么一次性把多个 值 按照列填入 某个表;

 甘民涵 发布于 2022-11-03 20:07

比如这个表:

+----+------------+--------+------+----------------+----------+
| id | 学籍编号   | 姓名   | 性别 | 档案           | 职务     |
+----+------------+--------+------+----------------+----------+
|  3 | 8594320350 | 高清   | 女   | 沂水县实验中学 | 班长     |
|  4 | 3802991271 | 马玉昭 | 男   | 沂水县实验中学 | 班长     |
|  5 | 3231995612 | 段升云 | 女   | 沂水县实验中学 | 体育委员 |
|  6 | 4751004553 | 蔡瑶   | 女   | 沂水县实验中学 |          |
|  7 | 4059036238 | 谭维维 | 女   | 沂水县实验中学 |          |
+----+------------+--------+------+----------------+----------+

我想一次性把 学籍编号 改成 11111,22222,33333,44444,55555,
按照我现在的水平,只能这样修改:

UPDATE c200402 SET 学籍编号 = 11111 WHERE id=3 ;
UPDATE c200402 SET 学籍编号 = 22222 WHERE id=4 ;
UPDATE c200402 SET 学籍编号 = 33333 WHERE id=5 ;
UPDATE c200402 SET 学籍编号 = 44444 WHERE id=6 ;
UPDATE c200402 SET 学籍编号 = 55555 WHERE id=7 ;

请问能直接把他们填入吗?

要是用excel的vba的话:
可以这样:

dim arr=Array(11111,22222,33333,44444,55555)
rang("B2").Resize(5, 1)=Application.Transpose(arr)

虽然大家可能没接触过vba,但是大体什么意思也都看得懂,劳烦解答,谢谢了!

2 个回答
  • 其实就是想在1条sql语句中实现多个操作,实现1个语句完成多个update的操作对吧?

    2022-11-12 01:42 回答
  • 不知道这种方法合不合你的要求。你可以把新的id和编号放在b表b(id, number)中,看你的例子,这个对应数据应该是有的吧。然后
    `update a, b
    set a.number = b.number
    where a.id = b.id;`
    不考虑其他实际问题,这样应该可以吧。

    2022-11-12 01:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有