OVH Cloud OVH Cloud

Problème de script MySQL vers SQL

4 réponses
Avatar
Overlook
bonjour à tous,

voila je viens de récupérer un script MySQL que j'ai besoin d'executer sur
SQL2005 mais SQL me dit qu'il y a des erreurs de syntaxe et je ne vois pas
quel est le problème (je connais pas trop SQL) ! Donc ci-dessous le script
MySQL tel que je l'execute dans SQL Server avec l'analyseur de requête.
SQL me donne 4 erreurs que j'ai mis en évidence ci-dessous. Si quelqu'un
pouvait me dire comment corriger ces 4 lignes ce serait très sympa ! Merci
;)

CREATE TABLE phpbb_album (
pic_id int(11) UNSIGNED NOT NULL auto_increment, <============ erreur de
syntaxe near UNSIGNED
pic_filename varchar(255) NOT NULL,
pic_thumbnail varchar(255),
pic_title varchar(255) NOT NULL,
pic_desc text,
pic_user_id mediumint(8) NOT NULL,
pic_username varchar(32),
pic_user_ip char(8) NOT NULL DEFAULT '0',
pic_time int(11) UNSIGNED NOT NULL,
pic_cat_id mediumint(8) UNSIGNED NOT NULL DEFAULT '1',
pic_view_count int(11) UNSIGNED NOT NULL DEFAULT '0',
pic_lock tinyint(3) NOT NULL DEFAULT '0',
pic_approval tinyint(3) NOT NULL DEFAULT '1',
PRIMARY KEY (pic_id),
KEY pic_cat_id (pic_cat_id),
KEY pic_user_id (pic_user_id),
KEY pic_time (pic_time));

CREATE TABLE phpbb_album_rate (
rate_pic_id int(11) UNSIGNED NOT NULL, <============ erreur de
syntaxe near UNSIGNED
rate_user_id mediumint(8) NOT NULL,
rate_user_ip char(8) NOT NULL,
rate_point tinyint(3) UNSIGNED NOT NULL,
KEY rate_pic_id (rate_pic_id),
KEY rate_user_id (rate_user_id),
KEY rate_user_ip (rate_user_ip),
KEY rate_point (rate_point));

CREATE TABLE phpbb_album_comment (
comment_id int(11) UNSIGNED NOT NULL auto_increment, <============
erreur de syntaxe near UNSIGNED
comment_pic_id int(11) UNSIGNED NOT NULL,
comment_user_id mediumint(8) NOT NULL,
comment_username varchar(32),
comment_user_ip char(8) NOT NULL,
comment_time int(11) UNSIGNED NOT NULL,
comment_text TEXT,
comment_edit_time int(11) UNSIGNED,
comment_edit_count smallint(5) UNSIGNED NOT NULL DEFAULT '0',
comment_edit_user_id mediumint(8),
PRIMARY KEY(comment_id),
KEY comment_pic_id (comment_pic_id),
KEY comment_user_id (comment_user_id),
KEY comment_user_ip (comment_user_ip),
KEY comment_time (comment_time));

CREATE TABLE phpbb_album_cat (
cat_id mediumint(8) UNSIGNED NOT NULL auto_increment, <============
erreur de syntaxe near UNSIGNED
cat_title varchar(255) NOT NULL,
cat_desc text,
cat_order mediumint(8) NOT NULL,
cat_view_level tinyint(3) NOT NULL DEFAULT '-1',
cat_upload_level tinyint(3) NOT NULL DEFAULT '0',
cat_rate_level tinyint(3) NOT NULL DEFAULT '0',
cat_comment_level tinyint(3) NOT NULL DEFAULT '0',
cat_edit_level tinyint(3) NOT NULL DEFAULT '0',
cat_delete_level tinyint(3) NOT NULL DEFAULT '2',
cat_view_groups varchar(255),
cat_upload_groups varchar(255),
cat_rate_groups varchar(255),
cat_comment_groups varchar(255),
cat_edit_groups varchar(255),
cat_delete_groups varchar(255),
cat_moderator_groups varchar(255),
cat_approval tinyint(3) NOT NULL DEFAULT '0',
PRIMARY KEY (cat_id),
KEY cat_order (cat_order));

4 réponses

Avatar
Patrice
Les types de données ne sont pas les mêmes. Voir par exemple :
http://www.microsoft.com/technet/prodtechnol/sql/2000/deploy/mysql.mspx#EZD

Voir dans la doc IDENTITY pour remplacer le auto_increment. La clause KEY
serait sans doute à remplacer par la créatino d'un index (PRIMARY KEY
marchera par contre)..

--
Patrice

"Overlook" a écrit dans le message de news:
%23SjPRj%
bonjour à tous,

voila je viens de récupérer un script MySQL que j'ai besoin d'executer sur
SQL2005 mais SQL me dit qu'il y a des erreurs de syntaxe et je ne vois pas
quel est le problème (je connais pas trop SQL) ! Donc ci-dessous le script
MySQL tel que je l'execute dans SQL Server avec l'analyseur de requête.
SQL me donne 4 erreurs que j'ai mis en évidence ci-dessous. Si quelqu'un
pouvait me dire comment corriger ces 4 lignes ce serait très sympa ! Merci
;)

CREATE TABLE phpbb_album (
pic_id int(11) UNSIGNED NOT NULL auto_increment, <============ erreur
de syntaxe near UNSIGNED
pic_filename varchar(255) NOT NULL,
pic_thumbnail varchar(255),
pic_title varchar(255) NOT NULL,
pic_desc text,
pic_user_id mediumint(8) NOT NULL,
pic_username varchar(32),
pic_user_ip char(8) NOT NULL DEFAULT '0',
pic_time int(11) UNSIGNED NOT NULL,
pic_cat_id mediumint(8) UNSIGNED NOT NULL DEFAULT '1',
pic_view_count int(11) UNSIGNED NOT NULL DEFAULT '0',
pic_lock tinyint(3) NOT NULL DEFAULT '0',
pic_approval tinyint(3) NOT NULL DEFAULT '1',
PRIMARY KEY (pic_id),
KEY pic_cat_id (pic_cat_id),
KEY pic_user_id (pic_user_id),
KEY pic_time (pic_time));

CREATE TABLE phpbb_album_rate (
rate_pic_id int(11) UNSIGNED NOT NULL, <============ erreur
de syntaxe near UNSIGNED
rate_user_id mediumint(8) NOT NULL,
rate_user_ip char(8) NOT NULL,
rate_point tinyint(3) UNSIGNED NOT NULL,
KEY rate_pic_id (rate_pic_id),
KEY rate_user_id (rate_user_id),
KEY rate_user_ip (rate_user_ip),
KEY rate_point (rate_point));

CREATE TABLE phpbb_album_comment (
comment_id int(11) UNSIGNED NOT NULL auto_increment, <============
erreur de syntaxe near UNSIGNED
comment_pic_id int(11) UNSIGNED NOT NULL,
comment_user_id mediumint(8) NOT NULL,
comment_username varchar(32),
comment_user_ip char(8) NOT NULL,
comment_time int(11) UNSIGNED NOT NULL,
comment_text TEXT,
comment_edit_time int(11) UNSIGNED,
comment_edit_count smallint(5) UNSIGNED NOT NULL DEFAULT '0',
comment_edit_user_id mediumint(8),
PRIMARY KEY(comment_id),
KEY comment_pic_id (comment_pic_id),
KEY comment_user_id (comment_user_id),
KEY comment_user_ip (comment_user_ip),
KEY comment_time (comment_time));

CREATE TABLE phpbb_album_cat (
cat_id mediumint(8) UNSIGNED NOT NULL auto_increment, <============
erreur de syntaxe near UNSIGNED
cat_title varchar(255) NOT NULL,
cat_desc text,
cat_order mediumint(8) NOT NULL,
cat_view_level tinyint(3) NOT NULL DEFAULT '-1',
cat_upload_level tinyint(3) NOT NULL DEFAULT '0',
cat_rate_level tinyint(3) NOT NULL DEFAULT '0',
cat_comment_level tinyint(3) NOT NULL DEFAULT '0',
cat_edit_level tinyint(3) NOT NULL DEFAULT '0',
cat_delete_level tinyint(3) NOT NULL DEFAULT '2',
cat_view_groups varchar(255),
cat_upload_groups varchar(255),
cat_rate_groups varchar(255),
cat_comment_groups varchar(255),
cat_edit_groups varchar(255),
cat_delete_groups varchar(255),
cat_moderator_groups varchar(255),
cat_approval tinyint(3) NOT NULL DEFAULT '0',
PRIMARY KEY (cat_id),
KEY cat_order (cat_order));



Avatar
Overlook
merci pour ton aide mais je débute vraiment et là je comprends pas grand
chose à ce que je dois mettre dans les lignes à corriger ...
un petit coup de main ?

Merci ;)

"Patrice" wrote in message
news:%23gpoD6%
Les types de données ne sont pas les mêmes. Voir par exemple :
http://www.microsoft.com/technet/prodtechnol/sql/2000/deploy/mysql.mspx#EZD

Voir dans la doc IDENTITY pour remplacer le auto_increment. La clause KEY
serait sans doute à remplacer par la créatino d'un index (PRIMARY KEY
marchera par contre)..

--
Patrice

"Overlook" a écrit dans le message de news:
%23SjPRj%
bonjour à tous,

voila je viens de récupérer un script MySQL que j'ai besoin d'executer
sur SQL2005 mais SQL me dit qu'il y a des erreurs de syntaxe et je ne
vois pas quel est le problème (je connais pas trop SQL) ! Donc ci-dessous
le script MySQL tel que je l'execute dans SQL Server avec l'analyseur de
requête.
SQL me donne 4 erreurs que j'ai mis en évidence ci-dessous. Si quelqu'un
pouvait me dire comment corriger ces 4 lignes ce serait très sympa !
Merci ;)

CREATE TABLE phpbb_album (
pic_id int(11) UNSIGNED NOT NULL auto_increment, <============ erreur
de syntaxe near UNSIGNED
pic_filename varchar(255) NOT NULL,
pic_thumbnail varchar(255),
pic_title varchar(255) NOT NULL,
pic_desc text,
pic_user_id mediumint(8) NOT NULL,
pic_username varchar(32),
pic_user_ip char(8) NOT NULL DEFAULT '0',
pic_time int(11) UNSIGNED NOT NULL,
pic_cat_id mediumint(8) UNSIGNED NOT NULL DEFAULT '1',
pic_view_count int(11) UNSIGNED NOT NULL DEFAULT '0',
pic_lock tinyint(3) NOT NULL DEFAULT '0',
pic_approval tinyint(3) NOT NULL DEFAULT '1',
PRIMARY KEY (pic_id),
KEY pic_cat_id (pic_cat_id),
KEY pic_user_id (pic_user_id),
KEY pic_time (pic_time));

CREATE TABLE phpbb_album_rate (
rate_pic_id int(11) UNSIGNED NOT NULL, <============ erreur
de syntaxe near UNSIGNED
rate_user_id mediumint(8) NOT NULL,
rate_user_ip char(8) NOT NULL,
rate_point tinyint(3) UNSIGNED NOT NULL,
KEY rate_pic_id (rate_pic_id),
KEY rate_user_id (rate_user_id),
KEY rate_user_ip (rate_user_ip),
KEY rate_point (rate_point));

CREATE TABLE phpbb_album_comment (
comment_id int(11) UNSIGNED NOT NULL auto_increment,
<============ erreur de syntaxe near UNSIGNED
comment_pic_id int(11) UNSIGNED NOT NULL,
comment_user_id mediumint(8) NOT NULL,
comment_username varchar(32),
comment_user_ip char(8) NOT NULL,
comment_time int(11) UNSIGNED NOT NULL,
comment_text TEXT,
comment_edit_time int(11) UNSIGNED,
comment_edit_count smallint(5) UNSIGNED NOT NULL DEFAULT '0',
comment_edit_user_id mediumint(8),
PRIMARY KEY(comment_id),
KEY comment_pic_id (comment_pic_id),
KEY comment_user_id (comment_user_id),
KEY comment_user_ip (comment_user_ip),
KEY comment_time (comment_time));

CREATE TABLE phpbb_album_cat (
cat_id mediumint(8) UNSIGNED NOT NULL auto_increment, <============
erreur de syntaxe near UNSIGNED
cat_title varchar(255) NOT NULL,
cat_desc text,
cat_order mediumint(8) NOT NULL,
cat_view_level tinyint(3) NOT NULL DEFAULT '-1',
cat_upload_level tinyint(3) NOT NULL DEFAULT '0',
cat_rate_level tinyint(3) NOT NULL DEFAULT '0',
cat_comment_level tinyint(3) NOT NULL DEFAULT '0',
cat_edit_level tinyint(3) NOT NULL DEFAULT '0',
cat_delete_level tinyint(3) NOT NULL DEFAULT '2',
cat_view_groups varchar(255),
cat_upload_groups varchar(255),
cat_rate_groups varchar(255),
cat_comment_groups varchar(255),
cat_edit_groups varchar(255),
cat_delete_groups varchar(255),
cat_moderator_groups varchar(255),
cat_approval tinyint(3) NOT NULL DEFAULT '0',
PRIMARY KEY (cat_id),
KEY cat_order (cat_order));







Avatar
Patrice
En première approche :
- supprimer UNSIGNED partout
- remplacer INT(X) par INT
- remplacer MEDIUMINT(X) par INT
- remplacer TINYINT(X) par TINYINT
- supprimer les clauses KEY de l'instruction de création de table
- remplacer auto_increment par IDENTITY (IDENTITY NOT NULL plutôt que NOT
NULL IDENTITY je pense)

A ce point là cela devrait être bon syntaxiquement sinon reviens avec le
code de ta première table et l'erreur...

Pour les clauses KEY elles seront remplacés si je comprends ce que fait
MySQL (je pense que c'est une création d'index ?) par :

CREATE INDEX <Nom> ON <Table>(<Colonnes>)

--
Patrice

"Overlook" a écrit dans le message de news:

merci pour ton aide mais je débute vraiment et là je comprends pas grand
chose à ce que je dois mettre dans les lignes à corriger ...
un petit coup de main ?

Merci ;)

"Patrice" wrote in message
news:%23gpoD6%
Les types de données ne sont pas les mêmes. Voir par exemple :
http://www.microsoft.com/technet/prodtechnol/sql/2000/deploy/mysql.mspx#EZD

Voir dans la doc IDENTITY pour remplacer le auto_increment. La clause KEY
serait sans doute à remplacer par la créatino d'un index (PRIMARY KEY
marchera par contre)..

--
Patrice

"Overlook" a écrit dans le message de news:
%23SjPRj%
bonjour à tous,

voila je viens de récupérer un script MySQL que j'ai besoin d'executer
sur SQL2005 mais SQL me dit qu'il y a des erreurs de syntaxe et je ne
vois pas quel est le problème (je connais pas trop SQL) ! Donc
ci-dessous le script MySQL tel que je l'execute dans SQL Server avec
l'analyseur de requête.
SQL me donne 4 erreurs que j'ai mis en évidence ci-dessous. Si quelqu'un
pouvait me dire comment corriger ces 4 lignes ce serait très sympa !
Merci ;)

CREATE TABLE phpbb_album (
pic_id int(11) UNSIGNED NOT NULL auto_increment, <============ erreur
de syntaxe near UNSIGNED
pic_filename varchar(255) NOT NULL,
pic_thumbnail varchar(255),
pic_title varchar(255) NOT NULL,
pic_desc text,
pic_user_id mediumint(8) NOT NULL,
pic_username varchar(32),
pic_user_ip char(8) NOT NULL DEFAULT '0',
pic_time int(11) UNSIGNED NOT NULL,
pic_cat_id mediumint(8) UNSIGNED NOT NULL DEFAULT '1',
pic_view_count int(11) UNSIGNED NOT NULL DEFAULT '0',
pic_lock tinyint(3) NOT NULL DEFAULT '0',
pic_approval tinyint(3) NOT NULL DEFAULT '1',
PRIMARY KEY (pic_id),
KEY pic_cat_id (pic_cat_id),
KEY pic_user_id (pic_user_id),
KEY pic_time (pic_time));

CREATE TABLE phpbb_album_rate (
rate_pic_id int(11) UNSIGNED NOT NULL, <============ erreur
de syntaxe near UNSIGNED
rate_user_id mediumint(8) NOT NULL,
rate_user_ip char(8) NOT NULL,
rate_point tinyint(3) UNSIGNED NOT NULL,
KEY rate_pic_id (rate_pic_id),
KEY rate_user_id (rate_user_id),
KEY rate_user_ip (rate_user_ip),
KEY rate_point (rate_point));

CREATE TABLE phpbb_album_comment (
comment_id int(11) UNSIGNED NOT NULL auto_increment, <============
erreur de syntaxe near UNSIGNED
comment_pic_id int(11) UNSIGNED NOT NULL,
comment_user_id mediumint(8) NOT NULL,
comment_username varchar(32),
comment_user_ip char(8) NOT NULL,
comment_time int(11) UNSIGNED NOT NULL,
comment_text TEXT,
comment_edit_time int(11) UNSIGNED,
comment_edit_count smallint(5) UNSIGNED NOT NULL DEFAULT '0',
comment_edit_user_id mediumint(8),
PRIMARY KEY(comment_id),
KEY comment_pic_id (comment_pic_id),
KEY comment_user_id (comment_user_id),
KEY comment_user_ip (comment_user_ip),
KEY comment_time (comment_time));

CREATE TABLE phpbb_album_cat (
cat_id mediumint(8) UNSIGNED NOT NULL auto_increment, <============
erreur de syntaxe near UNSIGNED
cat_title varchar(255) NOT NULL,
cat_desc text,
cat_order mediumint(8) NOT NULL,
cat_view_level tinyint(3) NOT NULL DEFAULT '-1',
cat_upload_level tinyint(3) NOT NULL DEFAULT '0',
cat_rate_level tinyint(3) NOT NULL DEFAULT '0',
cat_comment_level tinyint(3) NOT NULL DEFAULT '0',
cat_edit_level tinyint(3) NOT NULL DEFAULT '0',
cat_delete_level tinyint(3) NOT NULL DEFAULT '2',
cat_view_groups varchar(255),
cat_upload_groups varchar(255),
cat_rate_groups varchar(255),
cat_comment_groups varchar(255),
cat_edit_groups varchar(255),
cat_delete_groups varchar(255),
cat_moderator_groups varchar(255),
cat_approval tinyint(3) NOT NULL DEFAULT '0',
PRIMARY KEY (cat_id),
KEY cat_order (cat_order));











Avatar
Pierre Goiffon
Overlook wrote:
voila je viens de récupérer un script MySQL que j'ai besoin d'executer sur
SQL2005 mais SQL me dit qu'il y a des erreurs de syntaxe



Est-il possible au serveur SQL de voir la base MySQL ? Si oui, un import
via le successeur de DTS serait peut être plus simple ?