MySQL工作台没有';不能使用在其他计算机上运行的特定脚本

MySQL工作台没有';不能使用在其他计算机上运行的特定脚本,mysql,sql,Mysql,Sql,我有一个(不那么)轻微的问题。我有一个SQL文件,除了我的以外,它在所有计算机上都能正常工作。而且因为它在我这里不起作用,所以在我这边编码有点困难。它给了我这个1822年的错误,没有真正的解释,因为我不能在其他系统上复制它。对可能发生的事情有什么线索吗 use marioTallerizo; CREATE TABLE IF NOT EXISTS concesionarios ( id_concesionario INT(9) NOT NULL, nombre VARCHAR(2

我有一个(不那么)轻微的问题。我有一个SQL文件,除了我的以外,它在所有计算机上都能正常工作。而且因为它在我这里不起作用,所以在我这边编码有点困难。它给了我这个1822年的错误,没有真正的解释,因为我不能在其他系统上复制它。对可能发生的事情有什么线索吗

use marioTallerizo;

CREATE TABLE IF NOT EXISTS concesionarios (
    id_concesionario INT(9) NOT NULL,
    nombre VARCHAR(20) NOT NULL,
    direccion VARCHAR(50),
    telefono VARCHAR(15),
    codigo_postal INT(5),
    PRIMARY KEY (id_concesionario)
);

CREATE TABLE IF NOT EXISTS usuarios (
    id_concesionario INT(9) NOT NULL,
    id_usuario INT(9) NOT NULL,
    dni VARCHAR(20) NOT NULL,
    usuario VARCHAR(25) NOT NULL,
    contrasena VARCHAR(30) NOT NULL,
    nombre VARCHAR(20) NOT NULL,
    apellido VARCHAR(50),
    direccion VARCHAR(50),
    telefono VARCHAR(15),
    codigo_postal INT(5),
    rol VARCHAR(20),
    PRIMARY KEY (id_usuario , dni),
    FOREIGN KEY (id_concesionario)
        REFERENCES concesionarios (id_concesionario)
);

CREATE TABLE IF NOT EXISTS jefe (
    id_usuario INT(9) NOT NULL,
    FOREIGN KEY (id_usuario)
        REFERENCES usuarios (id_usuario)
);

CREATE TABLE IF NOT EXISTS vehiculos (
    id_vehiculo INT(9) NOT NULL,
    id_concesionario INT(9) NOT NULL,
    numero_bastidor VARCHAR(20) NOT NULL,
    especialidad ENUM('coche', 'motocicleta', 'ciclomotor'),
    precio INT(50),
    PRIMARY KEY (id_vehiculo , numero_bastidor),
    FOREIGN KEY (id_concesionario)
        REFERENCES concesionarios (id_concesionario)
);

CREATE TABLE IF NOT EXISTS clientes (
    id_vehiculo INT(9) NOT NULL,
    id_cliente INT(9) NOT NULL,
    dni VARCHAR(20) NOT NULL,
    nombre VARCHAR(20) NOT NULL,
    apellido VARCHAR(50),
    direccion VARCHAR(50),
    telefono VARCHAR(15),
    codigo_postal INT(5),
    PRIMARY KEY (id_cliente),
    FOREIGN KEY (id_vehiculo)
        REFERENCES vehiculos (id_vehiculo)
);

create table if not exists ventas (
    id_usuario int(9) NOT NULL,
    id_venta int(9) NOT NULL,
    id_cliente int(9) NOT NULL,
    PRIMARY KEY (id_venta),
    FOREIGN KEY (id_usuario) REFERENCES usuarios(id_usuario),
    FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente)
);   
    
    
CREATE TABLE IF NOT EXISTS mecanicos (
    id_usuario INT(9) NOT NULL,
    id_vehiculo INT(9) NOT NULL,
    especialidad ENUM('Coche', 'Moto', 'Camion'),
    es_jefe BIT,
    FOREIGN KEY (id_usuario)
        REFERENCES usuarios (id_usuario),
    FOREIGN KEY (id_vehiculo)
        REFERENCES vehiculos (id_vehiculo)
);

CREATE TABLE IF NOT EXISTS coches (
    id_vehiculo INT(9) NOT NULL,
    precio INT(6),
    PRIMARY KEY (id_vehiculo),
    FOREIGN KEY (id_vehiculo)
        REFERENCES vehiculos (id_vehiculo)
);
    
CREATE TABLE IF NOT EXISTS motocicletas (
    id_vehiculo INT(9) NOT NULL,
    precio INT(6),
    FOREIGN KEY (id_vehiculo)
        REFERENCES vehiculos (id_vehiculo)
);
    
CREATE TABLE IF NOT EXISTS ciclomotor (
    id_vehiculo INT(9) NOT NULL,
    precio INT(6),
    FOREIGN KEY (id_vehiculo)
        REFERENCES vehiculos (id_vehiculo)
);
    
CREATE TABLE IF NOT EXISTS reparaciones (
    id_reparacion INT(9) NOT NULL,
    id_vehiculo INT(9) NOT NULL,
    id_mecanico INT(9) NOT NULL,
    fecha_entrada DATE,
    fecha_salida DATE,
    presupuesto INT,
    piezas ENUM('tornillos', 'tuercas'),
    PRIMARY KEY (id_reparacion),
    FOREIGN KEY (id_vehiculo)
        REFERENCES vehiculos (id_vehiculo),
    FOREIGN KEY (id_mecanico)
        REFERENCES mecanicos (id_usuario)
);

CREATE TABLE IF NOT EXISTS propuestas (
    id_propuesta INT(9) NOT NULL,
    id_ventas INT(9) NOT NULL,
    id_cliente INT(9) NOT NULL,
    precio INT(50),
    vendido BIT,
    PRIMARY KEY (id_propuesta),
    FOREIGN KEY (id_ventas)
        REFERENCES ventas (id_venta),
    FOREIGN KEY (id_cliente)
        REFERENCES clientes (id_cliente)
);


insert into concesionarios values (1, 'Peugeot', 'Avenida Velázquez', '952759027', '29005');

insert into usuarios values (1, 1, '74637189H' , 'carlosfm', 'hola', 'Carlos', 'Fernández', 'Calle Mármoles', '684727185', '29002', 'Mecánico');
insert into usuarios values (1, 1, '74637189T' , 'proxo', 'hola', 'Carlos', 'Fernández', 'Calle Mármoles', '684727185', '29002', 'Ventas');
insert into jefe values (1);

insert into vehiculos values (1, 1, 'VSSZZZ1MZ2R040807', 'coche', '20000');
insert into vehiculos values (2, 1,'VSSZZZ1MZ2R040807', 'motocicleta', '20000');
insert into vehiculos values (3, 1, 'VSSZZZ1MZ2R040807', 'ciclomotor', '20000');

-- PROBLEMA. NO PUEDE HABER UN CLIENTE CON EL MISMO DNI QUE UN JEFE O UN MEC�NICO
insert into clientes values (1, 1, '74829187B', 'Manuel', 'Jurado', 'Calle Mármoles', '638192847', '29001');

insert into ventas values (1, 1, 1);

insert into mecanicos values (1, 1, 'Coche', 0);

insert into coches values (1, '15000');

-- PROBLEMA. SE PUEDE INSERTAR UN MISMO NUMERO DE BASTIDOR EN LA TABLA COCHE, MOTOCICLETA Y CICLOMOTOR Y NO DEBER�A

insert into motocicletas values (2, '2000');

insert into ciclomotor values (3, '1000');

insert into reparaciones values (1, 2, 1, '2020-10-20', '2020-10-28', '200', 'tornillos');

insert into propuestas values (1, 1, 1, '23000', 0);
错误显示:
错误代码:1822。未能添加外键约束。引用表“ventas”中缺少约束“propuestas_ibfk_1”的索引


创建表时应该没有问题,但由于该错误,无法创建“propuestas”表。

创建后检查ventas表,主键可能出了问题。我已在本地mysql工作台上运行了您的脚本,它已顺利完成,可能需要删除一些索引:。