#1064 - erreur de syntaxe

Résolu/Fermé
kitsuda - 26 juil. 2020 à 15:32
kitsuda Messages postés 2 Date d'inscription dimanche 26 juillet 2020 Statut Membre Dernière intervention 26 juillet 2020 - 26 juil. 2020 à 19:02
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
A voir également:

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
26 juil. 2020 à 16:11
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,

0