Erste ersetzen Oracle NUMBER
Datentyp mit MySql Datentyp.
Ihre Tabellendefinition verweist auf eine andere Tabelle tem
hier genannt:
value4 references tem(temno)
dies so Inline-Fremdschlüssel
Sie nicht Tabelle dept
wenn Tabelle tem
zuvor erstellten erstellen wurde nicht genannt wird, so dass die ganze Skript in Oracle muss so aussehen:
CREATE TABLE tem(
temno number primary key
);
INSERT INTO tem VALUES (1);
CREATE TABLE dept (
value1 DATE not null,
value2 number(21,6) not null,
value3 number(21,6),
value4 references tem(temno)
);
INSERT INTO dept VALUES(date '2017-01-22', 22.0, 13.5, 1);
Sie müssen auch t erstellen tem
in MySql Lage, bevor Sie die Tabelle dept
MySql unterstützt keine Inline-Fremdschlüssel-Constraints zu schaffen, nur aus der Reihe Fremdschlüssel Arbeit beschränkt, so dass die Tabellen Definition in MySql muss wie folgt aussehen:
CREATE TABLE tem(
temno decimal primary key
);
INSERT INTO tem VALUES (1);
CREATE TABLE dept (
value1 DATE not null,
value2 decimal(21,6) not null,
value3 decimal(21,6),
value4 decimal,
constraint foreign key (value4) references tem(temno)
);
INSERT INTO dept VALUES(date '2017-01-22', 22.0, 13.5, 1);
Live-Demo: http://sqlfiddle.com/#!9/173b2/1
Hinweis: ein Datentyp value4 decimal
das gleiche wie ein dataypepe von temno decimal
in Tabelle tem
, und auchsein mußSpalte muss ein Primärschlüssel sein, sonst erhalten Sie einen Fehler.
Sie wissen, dass Ihre Einfügedaten für die Tabelle 'emp' ->" Employee "sind. Und Sie fragen nach 'dept' ->" Derpartment ". Und sein klassisches Schema Beispiel aus Oracle –
@Take_Care_ ja vielen Dank habe ich es geändert. – user8831872
So wie ich sehe, müssen Sie nur 3 Anweisungen ändern 'Wert2 INT nicht null, Wert3 INT, FREMDSCHLÜSSEL (Wert4) REFERENZEN tem (temno)' –