我正在尝试在Postgresql中创建具有主键和外键的表。最初是在MySQL中创建的,但我不知道如何转换可以帮助他人。
我转换了第一个表,但讲师表却给我带来了问题
CREATE TABLE instructor_detail (
id SERIAL PRIMARY KEY,
youtube_channel VARCHAR(128) NULL,
hobby VARCHAR(45) NULL
);
DROP TABLE IF EXISTS instructor;
CREATE TABLE instructor (
id SERIAL PRIMARY KEY,
first_name VARCHAR(45) NULL,
last_name VARCHAR(45) NULL,
email VARCHAR(45) NULL,
instructor_detail_id INT NULL,
KEY FK_DETAIL_idx (instructor_detail_id),
CONSTRAINT FK_DETAIL FOREIGN KEY (instructor_detail_id) REFERENCES instructor_detail (id) ON DELETE NO ACTION ON UPDATE NO ACTION
);
外键约束将在PostgreSQL中起作用,不需要更改。
KEY
子句是MySQL的扩展,用于在CREATE TABLE
中创建一个PostgreSQL不支持的索引。
您必须在PostgresSQL中将KEY
子句转换为单独的CREATE INDEX
语句。