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