2017-09-06 2 views
0

Je pense que c'est déjà répondu, mais je suis confus avec certains threads. J'ai créé une tableMySQL Trigger pour auto-incrémenter un varchar (pas la clé primaire)

  • ID - int (auto-incrément) PK
  • NuméroIdentification - varchar ----> données d'échantillon (AFC0000001)
  • EmployeeID - FK

Maintenant, Im à la recherche d'une idée sur la façon dont je peux gérer l'auto-incrémentation pour 'IDNumber'. Je connais son idée inutile, mais dans ma situation actuelle j'ai besoin de ça. Peut-être connaissez-vous un déclencheur ou une idée?

+0

Comment incrémenter un varchar? 'A' -> 'B' -> 'C'? vous avez besoin de changer votre solution en effet. –

+0

@LipingHuang pas comme ça, c'est une variable avec des nombres. Comme ABC00001 –

+0

Vous pouvez également ajouter l'ID chaque fois que vous interrogez IDNumber, et seulement stocker le préfixe, ou ajouter l'ID à l'IDNumber après votre INSERT. –

Répondre

0

Ce n'est pas une réponse, ni dois-je le représentant pour ajouter un commentaire si s'il vous plaît ne pas voter vers le bas

Voulez-vous dire changer quelque chose comme ABC00001 -> ABC00002? ou 0001 -> 0002?

Edit:
Il va être difficile si votre carte d'identité est quelque chose comme ABD00001 parce que vous devez ignorer tous les personnages devant le 1 et incrémenter seulement 1 par 1 = 2, etc., sur l'autre main si votre ID était quelque chose comme ou alors vous pouvez incrémenter automatiquement le numéro à l'aide sql donc quelque chose comme

mysql_query("UPDATE ed_names SET c_request = c_request+1 WHERE id = 'x'");

EDIT:

Il ne faudrait pas plus vraiment processus que vous auriez tout à faire est quelque chose comme ça

<input type="text" name="card_id" value="ABC<?php $length = 5; $randomString = substr(str_shuffle(""), 0, $length); echo $randomString;?>"> 

qui serait alors quelque chose comme sortie:

<input type="text" name="card_id" value="ABC65918"> 

la valeur changerait alors à chaque fois que la page est rechargée bien sûr mais si vous voulez être sûr que vous pouvez ajouter un script qui change la valeur toutes les 5 ou 10 secondes

+0

son amende. ouais c'est exactement ce dont j'ai besoin –

+0

ouais. C'est la principale chose parce que c'est en fait générer un numéro de carte d'identité. –

+0

Je ne pense pas avoir l'expertise pour ça mais je suis sûr qu'un peu de googling va changer quelque chose mais en attendant l'ID doit-il être en ordre? ne pouvez-vous pas simplement générer quelque chose comme ABC72390 et ensuite générer un autre nombre aléatoire ABC82337? – JeanPaul98