create database stmikglobal;
use stmikglobal;
create table depart(
dept_name varchar(20) primary key,
building varchar(20),
budget float(15,2)
);
create table instructor(
instruc_id int not null auto_increment primary key,
ka_dept_name varchar(20),
ins_name varchar(30) not null,
salary int,
foreign key (ka_dept_name) references depart (dept_name)
);
create table student(
id_stu int not null auto_increment primary key,
ka_dept_name varchar (20),
ka_ins_name varchar(30),
full_name varchar(35),
total_credits int,
foreign key (ka_dept_name) references depart(dept_name),
foreign key (ka_ins_name) references instructor(ins_name)
);
为什么我想在可执行表部分有问题?
您应该通过instructor
表的主键(instruction_id
)来引用该表,而不是通过其他列(这里使用的是ins_name
)。因此更改列名,数据类型和外键声明,如下所示:
create table student(
id_stu int not null auto_increment primary key,
ka_dept_name varchar (20),
ka_instruc_id int,
full_name varchar(35),
total_credits int,
foreign key (ka_dept_name) references depart(dept_name),
foreign key (ka_instruc_id) references instructor(instruc_id)
);
问题内容: 我发现了有关该错误的一些线索。但是所有解决方案都不适合我。 我为用户表创建了2个表,为文章创建了1个表。现在,我要存储创建文章的用户和最后一个修饰符的用户。 我收到以下错误,但我不明白为什么要为此添加索引。 错误代码:1822。无法添加外键约束。引用表“ users”中约束“ fk_articles_users1”的缺少索引 我活跃 但这不会显示任何错误。 问题答案: 不能引用,因为出
我得到以下错误,但我不明白为什么我应该有一个索引。 错误代码:1822。添加外键Constaint失败。引用的表“users”中缺少约束“fk_articles_users1”的索引 我激活了 但这并没有显示出任何错误。
问题内容: 我在数据库中创建2个表: 和: 当我在沼泽中运行查询时,出现此错误: SQL查询: 说:文档 #1822-无法添加外键约束。参照表“药物”中约束“ fk_med_pharmacy_medication1”的缺少索引 这些表已经存在,但是我更改了一个字段。 问题答案: 外索引中引用的列必须被索引。您需要在添加索引。实际上,这可能应该是表的主键。
问题内容: 我正在尝试通过使用外键来确保表之间的数据一致性,以便DBMS可以检查错误。但是,由于某些原因,我们似乎无法做到这一点。有什么错误,还有替代方法吗?另外,当我填写具有外键的表时,无法填写为外键保留的字段,对吗?另外,外键是否完全视为键? 问题答案: 最可能的问题是此行: classLeader的数据类型为VARCHAR(255)。这有 匹配数据类型 的引用的列… 。当然,表必须存在,列也
我有两张桌子。第一个是人口;第二个是空的。 我希望第二个有一个外键,它引用第一个中的一列。 null 架构: 填充。为空。 不能成为的外键: MySQL没有提供错误的原因;不返回: 我拥有所需的数据库权限。 我已经仔细检查了列(甚至表)是否具有相同的排序规则(字符集不适用于INT列): MySQL无法添加外键约束 MySQL:错误1215(HY000):无法添加外键约束 无法添加外键约束-MySQ
问题内容: 尝试创建两个表时收到错误消息。有一个多值依赖项,因此我分离了表并提出了这个建议: 但是,当尝试使用此代码添加值时: 我收到臭名昭著的1452错误: 我不完全确定这意味着什么,因为我在第一个表中具有NameID自动递增功能。我不能在第二个中使用auto_increment,因为它是外键,对吗?在此先感谢您的帮助。 问题答案: 您已经在列上定义了外键约束,即在表中使用insert作为电话表
下面是一个现有的模型,名为: 下面是我试图创建的新模型: 看起来很简单,对吧?所以我进行迁移: 在网上搜索,我只找到了一个关于Django的问题的例子(在创建表时Django MySQL错误),但这并没有帮助。没有迁移到,我也看不出为什么会有迁移,因为我们最近既没有修改这部分,也没有升级任何包。 对任何帮助深表感谢。
问题内容: 我正在尝试将新模式转发工程到我的数据库服务器上,但是我不知道为什么会收到此错误。我试图在这里搜索答案,但是我发现的所有内容都说是将db引擎设置为Innodb或确保要用作外键的键是它们自己表中的主键。如果我没记错的话,我都做过这两件事。你们还有其他帮助吗? SQL脚本执行完成:语句:成功7次,失败1次 这是父表的SQL。 问题答案: 我猜,和/或不完全相同的数据类型和。 也许父表中的