所以我在Sql开发人员的数据库中有一些表,我仍然有来自这些表的查询。如果我尝试将其放在mysql中,则会出现一些错误,因此我想知道有什么不同,为什么它不能像我需要更改的那样工作。
以下是我在sql中创建的一些表,现在我正尝试在mysql中创建这些表:
create table EspecialidadesMedicas(
IdEspecialidad number(4) constraint pk_EspecialidadesMedicas primary key,
DescripcionEspecialidad varchar2(30));
create table Doctores(
IdDoctor number(5) constraint pk_Doctores primary key,
NombreDoctor varchar2(30),
Salario number(12,2),
Especialidad constraint fk1_Doctores references EspecialidadesMedicas);
create table Consultorios(
IdConsultorio number(4) constraint pk_Consultorios primary key,
Tamano varchar2(30),
Construido date);
答案 0 :(得分:1)
您的第一个语句将变为:
create table EspecialidadesMedicas(
IdEspecialidad int primary key,
DescripcionEspecialidad varchar(30)
);
您的第二个陈述很可能变成这样:
create table Doctores(
IdDoctor int primary key,
NombreDoctor varchar(30),
Salario decimal(12,2),
Especialidad int,
constraint fk1_Doctores foreign key (Especialidad) references EspecialidadesMedicas (IdEspecialidad)
);
您的第三个语句将变为:
create table Consultorios(
IdConsultorio int primary key,
Tamano varchar(30),
Construido date
);
在MySQL中尝试一下。
答案 1 :(得分:0)
您的第一个表在MySQL中将如下所示:
CREATE TABLE `de`.`EspecialidadesMedicas` (
`IdEspecialidad` INT NOT NULL AUTO_INCREMENT,
`DescripcionEspecialidad` VARCHAR(30) NULL,
PRIMARY KEY (`IdEspecialidad`));
如您所见,在语法,数据类型和功能方面存在相当多的差异,此处无法全部涵盖。 (例如,自动增加) 最简单的方法是使用类似MySQL Workbench的工具。它允许您使用GUI创建表并显示执行的SQL。这样您就可以看到差异。
我还建议阅读一些此类迁移教程:
https://blog.toadworld.com/2017/03/17/migrating-from-oracle-to-mysql