Champs AUTO_INCREMENT qui ne fonctionne pas (PHP)
Bonjour,
J'ai une table tout simple (fonctions_generiques) avec quelques champs, dont un champs IDFG en NUMBER de précision 5, qui est l'ID de chaque ligne en clé primaire de la table.
Je voudrais en faire un auto increment comme sur MySQL.
Après avoir faire quelques recherches j'ai donc utilisé une séquence et un trigger qui sont :
Code:
1 2 3
| CREATE SEQUENCE sequencefg
START WITH 1
INCREMENT BY 1; |
et :
Code:
1 2 3 4 5 6
| CREATE OR REPLACE TRIGGER incrementfg
BEFORE INSERT ON fonctions_generiques
FOR EACH ROW
BEGIN
SELECT sequencefg.nextval INTO :NEW.idfg FROM dual;
END; |
Et voici ma requête d'insertion (en PHP grâce à PDO) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| $req = $bdd->prepare('INSERT INTO FONCTIONS_GENERIQUES VALUES(\'\', :code_fonction, :code_contrat, :code_generique, :quantite, :frequence,
:datedeb, :datefin, :identifiant, :date_modif)');
$req->execute(array('code_fonction' => $_POST['code_fonction'],
'code_contrat' => $_POST['code_contrat'],
'code_generique' => $_POST['code_generique'],
'quantite' => $_POST['quantite'],
'frequence' => $_POST['frequence'],
'datedeb' => timestamp($_POST['datedeb']),
'datefin' => timestamp($_POST['datefin']),
'identifiant' => $_SESSION['user']['identifiant'],
'date_modif' => time()
)) or die(print_r($bdd->errorInfo())); |
Que je mette le champs idfg vide ('') ou sequencefg.nextval, j'ai cette erreur qui apparait :
Citation:
Array ( [0] => HY000 [1] => 1722 [2] => OCIStmtExecute: ORA-01722: Nombre non valide (ext\pdo_oci\oci_statement.c:146) ) 1
Et si je ne mentionne rien devant :code_fonction en ignorant l'id, comme le montrent certains exemples, il m'affiche une erreur du même style : nombre de paramètres insuffisants (ou quelques comme comme ça).
Sauriez-vous d'où peut venir ce problème ?