我得到一个错误1113,它指出表中没有列,即使我确实启动了它们,没有人知道为什么会这样吗?
还要在“插入P(Pid,pstring,Tid)”下,如何将Tid设置为T表中Tid的外键,这样我就不必手动将其插入?
DROP DATABASE IF exists DB1;
CREATE DATABASE DB1;
USE DB1;
Create Table T;
insert into T (Tid, tstring)
values (1, "t1");
Create Table P;
insert into P (Pid, pstring, tid)
values (1, "p1", 1),
(2, "p2", 1),
(3, "p3", 1),
(4, "p4", 1),
(5, "p5", 1);
SHOW TABLES;
答案 0 :(得分:0)
mysql / mariadb告诉您问题出在哪里
MariaDB [sandbox]> Create Table T;
ERROR 1113 (42000): A table must have at least 1 column
答案 1 :(得分:0)
您没有在Create Table T;
或Create Table P;
命令中创建任何列。要创建列并添加外键,请使用类似以下代码的代码:
Create Table T (Tid INT PRIMARY KEY,
tstring VARCHAR(100)
);
Create Table P (Pid INT PRIMARY KEY,
pstring VARCHAR(100),
tid INT,
FOREIGN KEY (tid) REFERENCES T(Tid)
);
您可以根据需要调整tstring
和pstring
的大小。关于创建外键的重要一点是T.Tid
必须具有索引,并且P.tid
的类型必须与T.Tid
的类型匹配。