#1064 - erreur de syntaxe [Résolu]

Signaler
-
Messages postés
2
Date d'inscription
dimanche 26 juillet 2020
Statut
Membre
Dernière intervention
26 juillet 2020
-
Bonjour je vient de reprendre le codage, j'essaye de d'exporter mon script sur phpadmin est le résulta:

Erreur

Requête SQL :



-- -----------------------------------------------------
-- Table `BTY`.`users`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BTY`.`users` (
`id` INT GENERATED AS () VIRTUAL,
`login` VARCHAR(255) NULL,
`password` VARCHAR(255) NULL,
PRIMARY KEY (`id`))
ENGINE = MyISAM;

MySQL a répondu: Documentation
#1064 - Erreur de syntaxe près de 'GENERATED AS () VIRTUAL,
`login` VARCHAR(255) NULL,
`password` VARCHAR(255' Ã la ligne 5


voila mon script:

-- MySQL Script generated by MySQL Workbench
-- Sun Jul 26 15:27:24 2020
-- Model: New Model Version: 1.0
-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

-- -----------------------------------------------------
-- Schema BTY
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema BTY
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `BTY` DEFAULT CHARACTER SET utf8 ;
USE `BTY` ;

-- -----------------------------------------------------
-- Table `BTY`.`users`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BTY`.`users` (
`id` INT GENERATED ALWAYS AS () VIRTUAL,
`login` VARCHAR(255) NULL,
`password` VARCHAR(255) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BTY`.`posts`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BTY`.`posts` (
`id` INT GENERATED ALWAYS AS () VIRTUAL,
`name` VARCHAR(255) NULL,
`content` TEXT NULL,
`created` DATETIME NULL,
`online` INT NULL,
`type` VARCHAR(255) NULL,
`slug` VARCHAR(255) NULL,
`user_id` INT NULL,
PRIMARY KEY (`id`),
INDEX `fk_posts_users_idx` (`user_id` ASC) VISIBLE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BTY`.`configs`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BTY`.`configs` (
`id` INT GENERATED ALWAYS AS () VIRTUAL,
`name` VARCHAR(255) NULL,
`value` VARCHAR(255) NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `name_UNIQUE` (`name` ASC) VISIBLE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BTY`.`medias`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BTY`.`medias` (
`id` INT GENERATED ALWAYS AS () VIRTUAL,
`name` VARCHAR(255) NULL,
`file` VARCHAR(255) NULL,
`post_id` INT NULL,
`type` VARCHAR(255) NULL,
PRIMARY KEY (`id`),
INDEX `fk_medias_posts1_idx` (`post_id` ASC) VISIBLE)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;


j'ai chercher pendant 2h est j'ai pas trouver, merci de votre aide d’avance

2 réponses

Messages postés
29595
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 septembre 2020
2 791
Bonjour,

Déjà... si tu es sur phpmyadmin .. c'est que tu utilises une base de données mysql.
Donc, poser ta question dans le forum sql server n'a pas de sens...
Je déplace donc dans le bon forum.


Ensuite, quelle version de mysql utilise tu ? Car le GENERATED AS () VIRTUAL est disponible depuis la 5.7

Ce qui m'étonne encore, c'est que ton AS() est vide...
En général, une colonne "GENERATED AS" sert à préciser une combinaison de champs permettant d'alimenter cette colonne...

Si tes ID ne sont pas composés d'autres champs de tes tables... pourquoi ne pas utiliser un auto incrément à la place
`id` int(11) NOT NULL AUTO_INCREMENT,

Messages postés
2
Date d'inscription
dimanche 26 juillet 2020
Statut
Membre
Dernière intervention
26 juillet 2020

merci pour ton aider tout marche correctement maintenant
j'utilise MySQL workbench 8.0.16

et j'utilise wampserver 2.5