#1064 SQL SYNTAX

Fermé
Ibilolz Messages postés 130 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 26 juin 2023 - Modifié par Ibilolz le 16/04/2014 à 18:33
Ibilolz Messages postés 130 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 26 juin 2023 - 16 avril 2014 à 19:38
Bonjour, lors ce que j'importe mon code sql dans php my admin il me sort :

#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 ' 
DateInstall DATE,
Addip INT,
Addmac INT,
Proc_Mat VARCHAR, ' at line 3

Voici ma page :

DROP TABLE IF EXISTS Matériel_Informatique ;
CREATE TABLE Matériel_Informatique (Id_Mat INTEGER NOT NULL,
type_mat INT,
Marque_mat VARCHAR,
DateInstall DATE,
Addip INT,
Addmac INT,
Proc_Mat VARCHAR,
Mem_Mat VARCHAR,
DD_Mat VARCHAR,
id_type_mat INT NOT NULL,
PRIMARY KEY (Id_Mat) ) ENGINE=InnoDB;

DROP TABLE IF EXISTS Logiciel ;
CREATE TABLE Logiciel (Id_Log VARCHAR NOT NULL,
Nom_Log VARCHAR,
DescrLogi VARCHAR,
PRIMARY KEY (Id_Log) ) ENGINE=InnoDB;

DROP TABLE IF EXISTS Salle ;
CREATE TABLE Salle (Id_Salle VARCHAR NOT NULL,
num_salle INT,
description VARCHAR,
nombre_poste INT,
PRIMARY KEY (Id_Salle) ) ENGINE=InnoDB;

DROP TABLE IF EXISTS Utilisateur ;
CREATE TABLE Utilisateur (id_utilisateur int AUTO_INCREMENT NOT NULL,
prénom VARCHAR,
nom VARCHAR,
date_naissance DATE,
login VARCHAR,
mdp VARCHAR,
id_type_utilisateur INT NOT NULL,
PRIMARY KEY (id_utilisateur) ) ENGINE=InnoDB;

DROP TABLE IF EXISTS Type_utilisateur ;
CREATE TABLE Type_utilisateur (id_type_utilisateur int AUTO_INCREMENT NOT NULL,
Descr VARCHAR,
PRIMARY KEY (id_type_utilisateur) ) ENGINE=InnoDB;

DROP TABLE IF EXISTS Type_matériel ;
CREATE TABLE Type_matériel (id_type_mat int AUTO_INCREMENT NOT NULL,
description VARCHAR,
PRIMARY KEY (id_type_mat) ) ENGINE=InnoDB;

DROP TABLE IF EXISTS Emplacement ;
CREATE TABLE Emplacement (Id_Salle VARCHAR NOT NULL,
Id_Mat INTEGER NOT NULL,
Date DATE,
PRIMARY KEY (Id_Salle,
Id_Mat) ) ENGINE=InnoDB;

DROP TABLE IF EXISTS Installer ;
CREATE TABLE Installer (Id_Mat INTEGER NOT NULL,
Id_Log VARCHAR NOT NULL,
PRIMARY KEY (Id_Mat,
Id_Log) ) ENGINE=InnoDB;

ALTER TABLE Matériel_Informatique ADD CONSTRAINT FK_Matériel_Informatique_id_type_mat FOREIGN KEY (id_type_mat) REFERENCES Type_matériel (id_type_mat);

ALTER TABLE Utilisateur ADD CONSTRAINT FK_Utilisateur_id_type_utilisateur FOREIGN KEY (id_type_utilisateur) REFERENCES Type_utilisateur (id_type_utilisateur);
ALTER TABLE Emplacement ADD CONSTRAINT FK_Emplacement_Id_Salle FOREIGN KEY (Id_Salle) REFERENCES Salle (Id_Salle);
ALTER TABLE Emplacement ADD CONSTRAINT FK_Emplacement_Id_Mat FOREIGN KEY (Id_Mat) REFERENCES Matériel_Informatique (Id_Mat);
ALTER TABLE Installer ADD CONSTRAINT FK_Installer_Id_Mat FOREIGN KEY (Id_Mat) REFERENCES Matériel_Informatique (Id_Mat);
ALTER TABLE Installer ADD CONSTRAINT FK_Installer_Id_Log FOREIGN KEY (Id_Log) REFERENCES Logiciel (Id_Log);


Je sais que de la syntaxe a changé avec la nouvelle version mysql mais je ne trouve pas, j'ai engine=InnoDB mais c'est correct je crois.
Merci d'avance
A voir également:

1 réponse

Ibilolz Messages postés 130 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 26 juin 2023
16 avril 2014 à 19:38
Jexporte un fichier .sql d'une table par défaut dans l'instal pour voir la syntaxe du sql, exemple d'une table :

CREATE TABLE IF NOT EXISTS 'columns_priv' (
'Host' char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
'Db' char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
'User' char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
'Table_name' char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
'Column_name' char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
'Timestamp' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
'Column_priv' set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
PRIMARY KEY ('Host','Db','User','Table_name','Column_name')
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Column privileges';

Je fais ma table pareil :

CREATE TABLE 'Materiel' (
'id_Mat' int(10) AUTO_INCREMENT '',
'type_mat' int(10) COLLATE utf8_bin NOT NULL DEFAULT '',
'Marque_mat' char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
'DateInstall' date COLLATE utf8_bin NOT NULL DEFAULT '',
'Addip' int(10) COLLATE utf8_bin NOT NULL DEFAULT '',
'Addmac' int(10) COLLATE utf8_bin NOT NULL DEFAULT '',
'Proc_Mat' char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
'Mem_Mat' char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
'DD_Mat' char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
'id_type_mat' int(10) COLLATE utf8_bin NOT NULL DEFAULT '',
PRIMARY KEY ('Id_Mat') ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Column privileges';

Et ça marche pas :

#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 ''', 'type_mat' int(10) COLLATE utf8_bin NOT NULL DEFAULT '', 'Marque_mat' cha' at line 2
0