Probleme de requête SQL

Probleme de requête SQL - SQL/NoSQL - Programmation

Marsh Posté le 14-10-2007 à 14:57:08    

Bonjour tout le monde
 
J'essaye de créer une table sql mais je n'y arrive pas.
J'ai ça comme message d'erreur :
 
 
 
Erreur
requête SQL:  
 
CREATE DATABASE `bt_newsletter` (
 
`id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
`adresse` varchar( 255 ) NOT NULL default `` ,
`sha1` varchar( 50 ) NOT NULL `` ,
`actif` int( 1 ) NOT NULL default `0` ,
PRIMARY KEY ( `id` )  
) TYPE = MYISAM COMMENT = `Inscription a la newsletter` ;
 
 
 
MySQL a répondu:  
 
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(
`id` int(10) unsigned NOT NULL auto_increment,
`adresse` varchar(255) NOT NU' at line 1

 
 
 
C'est le même message même si je ne passe pas par PHPMyAdmin.
Quelqu'un sait à quoi c'est du ?
Merci !
 
PS : pour info, je chercher à créer une table pour une newsletter.


Message édité par cli142 le 14-10-2007 à 18:20:57
Reply

Marsh Posté le 14-10-2007 à 14:57:08   

Reply

Marsh Posté le 14-10-2007 à 15:05:22    

J'ai également un autre problème qui est peut-être lié.
 
J'ai ces 2 messages d'erreur sur la page d'accueil de PHPMyAdmin :
 
 
PHP ne peut charger l'extension mysql,  
veuillez vérifier votre configuration de PHP - Documentation
 
L'extension PHP mbstring n'a pu être localisée et il semble que vous utilisiez un jeu de caractères multi-octets. Sans cette extension, phpMyAdmin est incapable de gérer correctement les caractères et il peut en résulter des problèmes.

 
Help me please, ça fait plusieurs heures que je suis dessus j'arrive à rien :'(

Reply

Marsh Posté le 14-10-2007 à 15:48:25    

Pour la premiere erreur, tu confonds les databases et les tables.
Crées toi une database, puis met ta requete dans cette database en remplaçant DATABASE par TABLE.
 

Code :
  1. CREATE TABLE `bt_newsletter` (
  2. `id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
  3. `adresse` varchar( 255 ) NOT NULL,
  4. `sha1` varchar( 50 ) NOT NULL,
  5. `actif` int( 1 ) NOT NULL,
  6. PRIMARY KEY ( `id` ) 
  7. );


Message édité par FlyPhp le 14-10-2007 à 15:56:43
Reply

Marsh Posté le 14-10-2007 à 18:00:07    

et ça n'a rien à faire dans la cat PHP, c'est du SQL! :o

Reply

Marsh Posté le 16-10-2007 à 23:47:52    

Ok mercri FlyPhp, je vais essayer ça. Je sais pas se que c'est une database mais je vais trouver ;)

Reply

Marsh Posté le 17-10-2007 à 00:11:55    

j'ai essayé ça n'as pas marcher, l'erreur est toujours la même ...

Reply

Marsh Posté le 17-10-2007 à 08:52:57    

database = base de données
table = table dans une base de données

 

avant de te lancer dans la conception d'une base quelconque, il faut au moins que tu aies quelques notions de comment ça fonctionne, ce qu'est le langage SQL etc... ça ne s'improvise pas! J'avais vu trainer sur ce forum un bon topic reprenant les base des SGBD, tu devrais le lire! :)

 

edit : bah je l'ai retrouvé, le topic est ici


Message édité par soulmanto le 17-10-2007 à 08:53:52
Reply

Marsh Posté le 10-11-2007 à 23:35:11    

J'ai lu ce topic mais ça ne change rien, l'erreur est toujours la même.
 
Quelqu'un aurait déjà résolu le problème ou sait comment il faut procéder ?

Reply

Marsh Posté le 12-11-2007 à 08:37:32    

si c'est comme en oracle '' est similaire a null, par exemple ceci retourne bien une ligne
 

Code :
  1. select *
  2. from
  3. (select '' as champ_test
  4. from dual)
  5. where champ_test is null


 
donc ta default value n'est pas bonne

Reply

Marsh Posté le 12-11-2007 à 09:42:40    

casimir > c'est le paramètre par défaut. mais oracle peut parfaitement ne pas se comporter de la sorte. (juste à titre indicatif)

Reply

Marsh Posté le 12-11-2007 à 09:42:40   

Reply

Marsh Posté le 12-11-2007 à 09:52:02    

je sais mais avec d'un coté not null et d'un autre coté la valeur par défaut équivalente a null, jme disais que peut-etre...
 
 
tiens sinon elles sont bien légales tes quotes pour tes noms de champ et de table? avec des doubles quotes ca n'irait pas mieux?
 
ps: je suis pas trop trop bein réveillé la alors c'est possible que je sois aps mal a coté de mes pompes ^^

Reply

Marsh Posté le 12-11-2007 à 20:16:53    

sous oracle ? non, pas du tout à ma connaissance. faudrait que je fasse un test un de ces 4, mais j'en doute.

Reply

Marsh Posté le 13-11-2007 à 10:58:26    

sissi sous oracle, je sais ca m'a fait un peu bizarre la première fois, c'est logique pas logique ca dépend, mais faut pas se laisser avoir quoi
 
la requete retourne bien 1
 

Code :
  1. insert into DSTREAM_TMP.TABLE_TEST(champ_varchar2) values ('')
  2. select count(*)
  3. from DSTREAM_TMP.TABLE_TEST
  4. where champ_varchar2 is null

Reply

Marsh Posté le 13-11-2007 à 11:17:41    

C'est bon ! enfin ! j'ai trouvé se qui n'allait pas !
Problème résolu pour moi

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed