我有一个庞大的User表,其中包含近一百万条记录,我需要遍历每个用户,在first_name
中抓取字符串的第一个字符,然后将该字符插入first_initial
中以获取该记录。相同的用户表。我不希望通过Rails进行迭代,因为实例化对象等会花费数小时。因此,我想知道是否有人使用Rails的update_all
或严格将其保留在psql中可以很好地做到这一点。
这将输出字符,但是我无法将它们插入相应的初始列中:
SELECT SUBSTRING(first_name, 1, 1) FROM users;
任何帮助将不胜感激。
答案 0 :(得分:1)
这将满足您的需求,您可以将其放入迁移中,也可以仅从控制台运行
User.update_all("first_initial = SUBSTRING(first_name, 1, 1)")