Visualizzazione dei risultati da 1 a 3 su 3

Discussione: adodb e codici errore

  1. #1

    adodb e codici errore

    Ho una semplice tabella in un database che corrisponde a questa query sulla quale effettuo operazioni tramite adodb:

    codice:
    CREATE TABLE IF NOT EXISTS `tbluser` (
      `user_id` int(10) unsigned NOT NULL auto_increment,
      `user_name` varchar(100) NOT NULL,
      `user_password` char(32) NOT NULL,
      `user_lastevent` datetime NOT NULL,
      `user_key` char(32) NOT NULL,
      PRIMARY KEY  (`user_id`),
      UNIQUE KEY `user_name` (`user_name`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8
    Volevo fare l'inserimento dell'utente in una sola query, controllando il codice di errore restituito nel caso di entry duplicata per l'user_name. Ora sono su mysql, e come ho potuto verificare il codice di errore per entry duplicate è 1062 (http://dev.mysql.com/doc/refman/5.0/...es-server.html).
    La mia domanda è questa: se mi affido al codice di errore 1062 per stabilire se l'username esisteva già o no, posso fidarmi del fatto che continui a funzionare anche su altri db oppure no?

    Grazie
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  2. #2
    Se su altri DB intendi PostgreSQL, SQLite etc, la risposta è no.

    Non sarebbe più semplice eseguire una query di selezione prima dell'inserimento?

  3. #3
    Allora è il caso di fare la query di selezione, mettendole entrambe in una transazione. Ti ringrazio.
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.