【发布时间】:2014-11-09 02:12:11
【问题描述】:
我必须要桌子:
CREATE TABLE `artist` (
`name` TEXT NOT NULL,
`gender` TEXT NOT NULL,
`city` TEXT NOT NULL,
PRIMARY KEY(name)
);
和
create table artwork(
title text,
location text,
artist text,
primary key (title, artist),
foreign key (artist) references artist(name)
);
“艺术品”表中的“艺术家”列允许我插入不在引用列中的数据。
FOREIGN KEY 约束还可以防止无效数据 插入到外键列中,因为它必须是 它指向的表中包含的值。 (c) W3school
我做错了吗?
【问题讨论】:
-
name 的类型为
TEXT,它是一个主键,只有指定长度才能将此列作为键。你的 create table 语句会报错。 -
它不会给出错误。表格创建得很好,我可以看到它们。
-
哪个版本的mysql?这些命令是从其他应用程序运行的吗?在这种情况下可能会使用一些默认长度。
-
我正在使用 SQLIte,但感谢您的评论,它将在未来帮助我。
标签: sql sqlite foreign-keys