我正在尝试编写一个 PHP 脚本来在同一个数据库中创建 2 个表,这些表应该通过 1(表类别)到多个(表页)关系进行链接。因此,'category' 表中的主键 'category_id' 应该是表 'page' 中的外键。
表“类别”成功创建没有问题:
$sql="CREATE TABLE category(
category_id SMALLINT NOT NULL AUTO_INCREMENT,
category VARCHAR(30) NOT NULL,
PRIMARY KEY (category_id),
UNIQUE (category)
)ENGINE=InnoDB DEFAULT CHARSET=utf8";
然后我正在尝试创建第二个表“页面”:
$sql="CREATE TABLE page(
page_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
category_id SMALLINT UNSIGNED NOT NULL,
title VARCHAR(100) NOT NULL,
description TINYTEXT NOT NULL,
content LONGTEXT NOT NULL,
date_created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (page_id),
FOREIGN KEY (category_id) REFERENCES category (category_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8";
我收到以下错误:
Error creating table: Cannot add foreign key constraint
你能告诉我我的代码有什么问题吗?提前非常感谢。