لقد قمت بحذف مستخدم باسم مستخدم = “XXX” وأرغب في تغيير اسم مستخدم آخر ليصبح نفس اسم المستخدم المحذوف، لكنني لا أستطيع ذلك. أحصل على الرسالة: “يجب أن يكون اسم المستخدم فريدًا”.
كيف يمكنني التحقق مما إذا كان اسم المستخدم محجوزًا أم أنه تم حذفه بالكامل؟
لا أعرف. ما هو اسم المستخدم الذي تحاول استخدامه؟
ربما تحاول استخدام اسم مستخدم محجوز، لكنني أظن أنك ستحصل على رسالة مختلفة…
أيضًا، لم يكن المستخدم السابق قادرًا على اختياره
إليك الكود الذي يتحقق مما إذا كان اسم المستخدم مأخوذًا بالفعل:
USERNAME_EXISTS_SQL = <<~SQL
(SELECT users.id AS id, true as is_user FROM users
WHERE users.username_lower = :username)
UNION ALL
(SELECT groups.id, false as is_user FROM groups
WHERE lower(groups.name) = :username)
SQL
أي مستخدم محذوف؟
تعديل: حاولت إعادة تسمية مستخدم بنفس اسم مجموعة، وظهرت رسالة تفيد بأن اسم المستخدم يجب أن يكون فريدًا. ربما هذه هي مشكلتك؟