Requête mysql

Résolu
logant83 Messages postés 90 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 6 mars 2007 - 11 avril 2006 à 21:19
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010 - 15 avril 2006 à 10:01
Bonsoir, voila, je code sous dev c++ et j'aimerai savoir comment je pourrai faire pour créer une table mysql a la condition quel n'existe pas?

15 réponses

platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
14 avril 2006 à 20:45
Il me semble qu'il y a une fonction mysql_select_db dans l'API MySQL...
3
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
15 avril 2006 à 10:01
Si tu as déjà une base de donnée, sélectionne la :
mysql_query(conn, "USE monBD");

sinon crée une nouvelle base de donnée:
mysql_query(conn, "CREATE DATABASE monBD");
3
platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
12 avril 2006 à 08:24
Salut :)

Mouais, pas vraiment de rapport avec le C++, mais c'est pas grave ;)
En supposant que tu utilises déjà la librairie MySQL...

CREATE TABLE IF NOT EXISTS nomTable(
......
)

@+++ Bonne journée ;)
0
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
12 avril 2006 à 19:57
// initilisation
connect = mysql_init(NULL);
// connexion
mysql_real_connect(connect, ...));
// création table
mysql_query(connect, "CREATE TABLE IF NOT EXISTS nomTable (...)");
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
logant83 Messages postés 90 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 6 mars 2007
12 avril 2006 à 19:58
Peut tu me faire un exemple ? car jsuis un peu lent a la détente...
0
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
12 avril 2006 à 21:02
void CreationTable(HWND hwnd)
{
if(mysql_query(connect, "CREATE TABLE IF NOT EXISTS facturation (datefact DATE, codecli INT UNSIGNED NOT NULL, adresse VARCHAR(30), total FLOAT(8, 2)NOT NULL DEFAULT 0, nofact INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY)"))
{
MessageBox(hwnd, "On ne peut pas créer la table facturation", "Erreur", 64);
}
}
0
logant83 Messages postés 90 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 6 mars 2007
12 avril 2006 à 22:28
Merci pour ton exemple, mais des que je fait comme sa

if (mysql_query(conn, "CREATE TABLE IF NOT EXISTS nick (
"nick_id INT(11) NOT NULL AUTO_INCREMENT,"
"pseudo VARCHAR(500) not null,"
"PRIMARY KEY (nick_id))"));
mysql_close(conn);

j'ai "missing terminating " character "

peut tu me corriger?
0
platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
13 avril 2006 à 08:06
Salut,
Attention aux doubles quotes dans les chaines de caracteres.... Tu dois les protéger avec \, sinon le compilo croit que tu termines te chaine, et forcément, il gueule....

@+
0
logant83 Messages postés 90 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 6 mars 2007
13 avril 2006 à 11:51
ba j'ai mis le \ devant les doubles quotes et sa change rien ... alors ptétre que c moi qui les met male... tu peux pas me montrer en me corrigant mon code ?
comme sa jvai comprendre.
0
platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
13 avril 2006 à 13:13
Salut,


essaie une fois comme ca :


if (mysql_query(conn, "CREATE TABLE IF NOT EXISTS nick ( "
"nick_id INT(11) NOT NULL AUTO_INCREMENT,"
"pseudo VARCHAR(500) not null,"
"PRIMARY KEY (nick_id))"));
mysql_close(conn);

Il te manquait un " a la fin de la premiere ligne :p
Sinon normalement dans ton cas les anti-slash ne sont pas nécessaires, c'est une définition de chaine sur plusieurs lignes...

@++
0
logant83 Messages postés 90 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 6 mars 2007
13 avril 2006 à 17:08
merci sa se compile bien la, mais eu j'ai comme un probléme, car il me dit que il ne peut pas créer la table...

if (mysql_query(conn, "CREATE TABLE IF NOT EXISTS nick ( "
"nick_id INT(11) NOT NULL AUTO_INCREMENT,"
"pseudo VARCHAR(500) not null,"
"PRIMARY KEY (nick_id)),"
"TYPE=MyISAM"));
{
printf("On ne peut pas créer la table\n");
}

tu as une idée pourquoi?
0
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
13 avril 2006 à 20:32
Avant de créer une table, penses-tu à sélectionner une base de donnée? La connexion avec mysql est-elle établie?
0
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
13 avril 2006 à 20:37
La taille du type VARCHAR ne doit pas exceder 255 caractères.
0
logant83 Messages postés 90 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 6 mars 2007
14 avril 2006 à 19:43
Ahhh d'accord mais euh... comment je fait pour selectionner une base de donnée?
0
platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
14 avril 2006 à 20:45
Il me semble qu'il y a une fonction mysql_select_db dans l'API MySQL...
0
Rejoignez-nous