Если запись находится в базе данных, тогда откажитесь от операции вставки и удалите запись

У меня есть таблица, в которой хранятся "активные" пользователи какого-то произвольного объекта. Существует операция вставки при каждом входе и выходе определенного пользователя. То, что я хочу сделать, заключается в следующем:

  • При обнаружении операции вставки в базу данных проверьте, присутствует ли имя пользователя в базе данных MYSQL.
  • Если имя пользователя присутствует, не вставляйте и не удаляйте существующую запись.
  • Если имя пользователя отсутствует, вставьте.

Есть ли способ добиться этого? Я довольно новичок в MYSQL, поэтому заранее прошу прощения, если что-то, что я сказал, не имеет смысла - просто попросите моего разъяснения.

1 ответ

Решение

То, что я хочу сделать, заключается в следующем:

  • При обнаружении операции вставки в базу данных проверьте, присутствует ли имя пользователя в базе данных MYSQL.

Да, вы можете достичь этого

  • Если имя пользователя присутствует, не вставляйте и не удаляйте существующую запись.

Вы можете вручную искать имя пользователя и делать оператор условия как хотите.

  • Если имя пользователя отсутствует, вставьте.

То же самое.

Вот пример базы из того, что вы хотите:

--INPUT @Username

IF EXISTS(SELECT * FROM activeUsers WHERE Username = @Username) THEN

    DELETE FROM activeUsers WHERE Username = @Username

ELSE

    INSERT INTO activeUsers (columns...) VALUES (values)

END IF
Другие вопросы по тегам