r23o Administrateur



Inscrit le: 04 Mai 2003 Messages: 5262 Localisation: lille
|
Posté le: 30 Mar 2007 0:26 Sujet du message: |
|
|
Vous est il déjà arrivé de vouloir savoir la prochaine valeure que va prenre l'auto_increment de l'id d'une table sans pour autant devoir passer par un insert...
J'ai beau chercher sur internet il n'existe pas je pense de fonction qui retourne cette valeure.
Cependant en affichant les infos d'une table avec la commande "SHOW TABLE STATUS" cette valeure apparait.
Une personne s'est donc amusé à créer la fonction desirée en exploitant les resultats renvoyés par la commande SHOW STATUS.
La voici :
trouvé sur ce blog : http://bakery.cakephp.org/articles/view/123
| Code: |
class AppModel extends Model {
function getNextAutoIncrement(){
$next_increment = 0;
$table = Inflector::tableize($this->name);
$query = "SHOW TABLE STATUS LIKE '$table'";
$db =& ConnectionManager::getDataSource($this->useDbConfig);
$result = $db->rawQuery($query);
while ($row = mysql_fetch_assoc($result)) {
$next_increment = $row['Auto_increment'];
}
return $next_increment;
}
} |
lire aussi ce thread en français
http://www.developpez.net/forums/archive/index.php/t-220392.html _________________ Eddyhalftime.com votre magazine de la mi-temps ! |
|