const db = require("./plugin/DataBase/db"); // 生成 6 位数字 + 字母混合码 function generateCode() { const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; // 全部大写,避免大小写重复 let code = ""; for (let i = 0; i < 6; i++) { code += chars.charAt(Math.floor(Math.random() * chars.length)); } return code; } // 生成唯一的 code async function generateUniqueCode(existingCodes) { let code; do { code = generateCode(); } while (existingCodes.has(code)); // 查重 return code; } async function updateFaceCodes() { try { // 查询所有账号 const accounts = await db.query("SELECT student_num FROM lepao_account"); // 收集已有的 face_code const usedCodes = new Set(); for (let account of accounts) { // 如果已有 code,就覆盖(如果你想保留,可以加判断) const code = await generateUniqueCode(usedCodes); usedCodes.add(code); // 更新数据库 let sql = 'INSERT INTO lepao_face (face_code, student_num ) VALUES (?, ?)' await db.query(sql, [ code, account.student_num, ]); console.log(`账号ID: ${account.student_num} 更新 face_code 为: ${code}`); } console.log("所有 face_code 更新完成!"); } catch (err) { console.error("执行出错:", err); } finally { db.end && db.end(); } } updateFaceCodes();