Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2005, 16h21   #1
Membre à l'essai
 
Inscription : octobre 2004
Messages : 114
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 114
Points : 24
Points : 24
Par défaut DROP table et table fantome

Bonjour,

je suis en train de devenir fou a cause de PostGreSQL 8.0.1 sous winXP SP2.
J'ai cree une base dbbornes avec a l'interieur une table tblusers et tout a fonctionné.
Ensuite j'ai fais un DROP de cette table et maintenant a chaque fois que je recree une table dbbornes il me recree automatiquement mon ancienne table tblusers alors que je ne veux plus de cette table.

Je comprends rien!!!!!
romeo9423 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2005, 17h58   #2
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
Bonjour,
peux tu nous montrer tes requetes ?
Tu as peux etre cree la table non pas dans dbbornes mais dans template1 ? resultat : a chaque fois que tu cree la base tu cree tblusers.
Ou plus simplement une transaction non terminée ?
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2005, 12h11   #3
Membre à l'essai
 
Inscription : octobre 2004
Messages : 114
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 114
Points : 24
Points : 24
Citation:
Envoyé par hpalpha
Bonjour,
peux tu nous montrer tes requetes ?
Tu as peux etre cree la table non pas dans dbbornes mais dans template1 ? resultat : a chaque fois que tu cree la base tu cree tblusers.
Ou plus simplement une transaction non terminée ?
Le pb c'est que je fais les requetes par programmation mais si tu les veux ca donne ca :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
bRet = m_pDb.Open(m_strConn + _T( "Database=template1" ));IF (!bRet) goto lblExitOnErr;
 
bRet = m_pDb.Execute( _T("CREATE DATABASE dbbornes;") );IF (!bRet) goto lblExitOnErr;
 
// CREATE TABLE
csSql.Format( "CREATE TABLE tblUsers,");
csSql += _T( "UserID SERIAL NOT NULL,"	);
csSql += _T( "Time TIMESTAMP NOT NULL,"	);
csSql += _T( "NumSerie INTEGER NOT NULL," );
csSql += _T( "PRIMARY KEY(UserID))"	);
bRet = m_pDb.Execute( csSql );IF (!bRet) goto lblExitOnErr;

et le truc bizarre c'est que apres le CREATE DATABASE dbbornes, j'ai une erreur comme quoi la table tblUsers existe deja.
Pourtant a chaque fois je detruis la base....
Lorsque j'execute ce code en mode pas a pas, juste apres le create database je regarde avec pgadmin ma base et comme par magie il m'a cree a la fois la base et aussi la table tblusers.
romeo9423 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2005, 14h21   #4
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
Bonjour,
c'est bien ce que je pensais :
Tu as créé ta table dans template1 !!!

connecte toi dans pgadmin, et supprime dans la base template1 ta table tblusers.
ensuite modifie ton script pour qu'il se connecte à template1, crée la base dbbornes (jusque là c'est ok), deconnecter toi de template1 et reconnecte toi sur dbbornes, apres lance tes requetes de create table.

Actuellement, ton script se connecte à template1 puis cree la table dedans, d'où a chaque fois que tu cree une base (quelquelle soit) tu as la table tblusers.
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2005, 18h41   #5
Membre à l'essai
 
Inscription : octobre 2004
Messages : 114
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 114
Points : 24
Points : 24
Citation:
Envoyé par hpalpha
Bonjour,
c'est bien ce que je pensais :
Tu as créé ta table dans template1 !!!

connecte toi dans pgadmin, et supprime dans la base template1 ta table tblusers.
ensuite modifie ton script pour qu'il se connecte à template1, crée la base dbbornes (jusque là c'est ok), deconnecter toi de template1 et reconnecte toi sur dbbornes, apres lance tes requetes de create table.

Actuellement, ton script se connecte à template1 puis cree la table dedans, d'où a chaque fois que tu cree une base (quelquelle soit) tu as la table tblusers.
Comment je fais pour supprimer tblusers de template1 car je la vois pas ?
De plus j'ai modifié mon script comme suit mais ca change rien :

Code :
1
2
3
4
5
6
 
 m_pDb.Open(m_strConn + _T( "Database=template1" ));
m_pDb.Execute( _T("CREATE DATABASE dbbornes;") );
m_pDb.Close();
m_pDb.Open( m_strConn + _T( "Database=dbbornes" ) );
....
Mais il cree tjrs ma table tblusers alors que je lui demande juste de creer une table.
romeo9423 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2005, 18h46   #6
Membre à l'essai
 
Inscription : octobre 2004
Messages : 114
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 114
Points : 24
Points : 24
Citation:
Envoyé par romeo9423
Citation:
Envoyé par hpalpha
Bonjour,
c'est bien ce que je pensais :
Tu as créé ta table dans template1 !!!

connecte toi dans pgadmin, et supprime dans la base template1 ta table tblusers.
ensuite modifie ton script pour qu'il se connecte à template1, crée la base dbbornes (jusque là c'est ok), deconnecter toi de template1 et reconnecte toi sur dbbornes, apres lance tes requetes de create table.

Actuellement, ton script se connecte à template1 puis cree la table dedans, d'où a chaque fois que tu cree une base (quelquelle soit) tu as la table tblusers.
Comment je fais pour supprimer tblusers de template1 car je la vois pas ?
De plus j'ai modifié mon script comme suit mais ca change rien :

Code :
1
2
3
4
5
6
 
 m_pDb.Open(m_strConn + _T( "Database=template1" ));
m_pDb.Execute( _T("CREATE DATABASE dbbornes;") );
m_pDb.Close();
m_pDb.Open( m_strConn + _T( "Database=dbbornes" ) );
....
Mais il cree tjrs ma table tblusers alors que je lui demande juste de creer une table.

Bon en fait j'ai trouvé.
Pour afficher la base template1 il faut cocher une option dans pgadmin et effectivement il y avait une table tblusers.
Merci
romeo9423 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h20.


 
 
 
 
Partenaires

Hébergement Web