#informatique Bot Logged User list

Network: Zeolia
Modes: +nrt
Last Seen: 50 minutes ago
Topic: Canal d'aide informatique - Développement / Web / Windows - Pour les questions linux, rejoindre #linux
#3
Rank
11
Users

Channel Log Archive for #informatique

Prev
Next

* All times are UTC
Filtering by user: CrazyCat
Thursday, June 23, 2022
[12:22:55] @ CrazyCat Ben si la clé unique ne prends pas realname, il n'insère pas si l'enregistrement avec nick,username,ip,host existe déjà
[12:23:54] @ CrazyCat Et c'est un peu moche ce que tu fais là... Tu as 2 requêtes à entretenir
[12:41:29] @ CrazyCat Oui, tu es obligée de supprimer les doublons
[12:42:15] @ CrazyCat Maintenant, si c'est pour mettre une clé unique sur tout, autant tout enregistrer
[12:42:52] @ CrazyCat Et faire une requête avec un select distinct pour n'avoir qu'un enregistrement
[12:45:20] @ CrazyCat En fait, tu te compliques la vie et en plus tu te retire des possibilités de tracking
[12:46:21] @ CrazyCat Tu enregistres à chaque connexion d'un utilisateur ?
[12:47:10] @ CrazyCat Je ne sais pas quel est le but de ce système, mais au lieu de le restreindre, rend le plus complet
[12:48:06] @ CrazyCat C'est quoi le but de cette base ?
[12:48:13] @ CrazyCat (je re dans 10 minutes)
[13:01:35] @ CrazyCat Clairement, je te conseille d'ajouter un champ datetime à ta base, et pourquoi pas aussi des champs du type "sanction" et "à surveiller" et de tout enregistrer
[13:07:00] @ CrazyCat Pas timestamp, datetime
[13:07:48] @ CrazyCat timestamp est relativement dangereux: si tu fais un update d'un champ quelconque dans la table, le timestamp changera
[13:08:07] @ CrazyCat Alors que le datetime ne chanque que si tu l'update lui
[13:11:31] @ CrazyCat Je me suis fait avoir une fois, j'ai plus jamais oublié :)
[13:13:50] @ CrazyCat Tout à fait
[13:14:39] @ CrazyCat Je ne vois d'ailleurs pas quel champ tu pourrais ajouter où, vu que tu enregistre chaque connection, tu aurais toujours 1 dedans
[14:05:08] @ CrazyCat Oui, d'où l'intérêt de ne pa sprendre l'habitude du select * :)
[14:19:25] @ CrazyCat Pourquoi tu mets des alias sur tous les champs ?
[14:20:01] @ CrazyCat Et pourquoi un group by aussi énorme ?
[14:22:42] @ CrazyCat Les alias ne servent que dans 2 cas: quand tu as 2 champs qui ont le même nom ou quand tu as une formule (comme max ou count)
[14:26:25] @ CrazyCat Oui
[14:26:51] @ CrazyCat Reprenons... Que veux tu compter ?
[14:27:41] @ CrazyCat ok, donc le count(id) est la bonne option
[14:28:29] @ CrazyCat (j'imagine que "même connexion" est en fait "même nick" ou "même ip")
[14:29:02] @ CrazyCat Et tu veux aussi la date/heure de dernière connexion donc
[14:31:32] @ CrazyCat Je ne vois pas l'intérêt du realname ni celui du suspect
[14:32:49] @ CrazyCat Ok, donc: SELECT COUNT(DISTINCT id) AS nbc, MAX(time) AS lasttime, nick, username, ip FROM logsusers GROUP BY nick, username, ip
[14:33:21] @ CrazyCat Tu peux ajouter d'autres champs dans ton select
[14:33:43] @ CrazyCat Et tu peux même faire: SELECT COUNT(DISTINCT id) AS nbc, MAX(time) AS lasttime, * FROM logsusers GROUP BY nick, username, ip
[14:34:38] @ CrazyCat Par contre faire une vue là n'a à mon avis aucun intérêt
[14:36:46] @ CrazyCat il dit quoi ?
[14:37:12] @ CrazyCat Que les champs ne sont pas dans le group by ?
[14:41:01] @ CrazyCat Ah oui en effet
[14:41:12] @ CrazyCat Donc oublie le *
[14:41:58] @ CrazyCat Et le non, le order by va après
[14:42:19] @ CrazyCat tu fais un order sur ce qui est groupé
[14:42:31] @ CrazyCat tu ne groupes pas une liste ordonnée
[14:44:12] @ CrazyCat P-e que MAX(time) peut fonctionner dans le order
[14:45:29] @ CrazyCat hum... Tu risques d'avoir des surprises
[14:49:51] @ CrazyCat De nada
[14:50:39] @ CrazyCat Toto ?
[14:51:07] @ CrazyCat J'ai arrété de lui répondre, il se tourne vers toi
[14:51:14] @ CrazyCat Envoie le chier :)
[15:01:16] @ CrazyCat Bon, c'est l'heure d'aller boire un coup pour moi
[15:03:28] @ CrazyCat Merci, @++
Prev
Next