为什么不自动在关系表上创建?(在mysql中)

Pororoca
create table Board (
boardID     char(30) not null,
readLevel   tinyint not null,
writeLevel  tinyint not null,
PRIMARY KEY (boardID) ) engine=InnoDB character set=utf8;

create table Post (
postID          int not null AUTO_INCREMENT,
title           char(50) not null,
content         TEXT not null,
writeDate       date not null,
readCount       int not null,
PRIMARY KEY (postID)) engine=InnoDB character set=utf8;

create table Save_Board_Post(
boardID   char(30) not null,
postID    int not null,
FOREIGN KEY (boardID) REFERENCES Board(boardID) ON UPDATE CASCADE,
FOREIGN KEY (postID) REFERENCES Post(postID) ON UPDATE CASCADE ) engine=InnoDB character set=utf8;

insert into Board (boardID, readLevel, writeLevel) values ('testBoard', 0, 0);
insert into Post  (title, content, writeDate, readCount) values ('testPost1', 'test', CURRENT_TIMESTAMP() ,0);

select * from Board where boardID='testBoard';
select * from Post where tile='testPost1';
select * from Save_Board_Post where boardID='testBoard';

我是sql新手。而且我不是英语母语的人。

所以,请原谅我的英语水平。

这是我的mysql代码。

最后五行用于测试。并且从Board and Post中选择运行正常。

select * from Save_Board_Post where boardID= 'testBoard';

它不起作用。此代码没有错误。但没有输出结果。

我想这意味着Save_Board_Post表中没有数据。

我以为REFERENCES命令在插入父表时会自动创建数据。

如果没有,请告诉我如何自动创建关系数据。

黄昏-无效-

不,那不是什么REFERENCESREFERENCES约束的全部意思是(手动)插入到Save_Board_Post中的每一行都必须中存在一个boardID和一个不会自动将任何内容插入该表。postIDBoardPost

如果您要表示帖子所在的板,则执行此操作的适当方法是使板ID成为该帖子的属性,例如

CREATE TABLE Post (
    postID INTEGER NOT NULL AUTO_INCREMENT,
    boardID CHAR(30) NOT NULL,
    ...
    FOREIGN KEY (boardID) REFERENCES Board(boardID)
);

而不是只为该数据创建一个完全独立的表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在表之间创建关系时,MySQL Workbench会自动创建多个键?

来自分类Dev

为什么JPA \ Hibernate不自动创建此映射字段?

来自分类Dev

主机为什么不自动拉动更改?

来自分类Dev

为什么doctype不自动关闭

来自分类Dev

为什么Scala不自动“处理” ClassTag?

来自分类Dev

为什么logrotate不自动旋转?

来自分类Dev

为什么内核不自动更新?

来自分类Dev

在excel中,为什么我可以在表1和表2之间创建关系,但不能创建相反的关系?

来自分类Dev

为什么编译器不自动在声明性宏中添加双括号?

来自分类Dev

为什么不自动溢出在div元素中不起作用?

来自分类Dev

为什么ContentDialog中的TextBox不自动在键盘上方滚动

来自分类Dev

为什么iOS版7中的bottomLayoutGuide不自动考虑UIToolBar的高度,并且自动调整AdjustScrollViewInsets(带有自动布局)

来自分类Dev

为什么表格不自动调整当前分辨率?

来自分类Dev

为什么编译器不自动设置serialVersionUID?

来自分类Dev

Rails为什么不自动生成视图文件?

来自分类Dev

为什么ReactJS不自动为动态子代生成密钥?

来自分类Dev

Rails为什么不自动为关联生成外键?

来自分类Dev

为什么不自动分配long long类型的值?

来自分类Dev

为什么下载时不自动安装软件包?

来自分类Dev

Ubuntu为什么不自动删除旧内核?

来自分类Dev

为什么该程序包不自动更新?

来自分类Dev

为什么Proguard不自动知道应保留哪些文件

来自分类Dev

为什么tDataSet.Append不自动调用Post

来自分类Dev

为什么要创建联接表以在Rails 3中建立多对多关系

来自分类Dev

为什么要以多对多关系创建新表?

来自分类Dev

为什么要以多对多关系创建新表?

来自分类Dev

如何仅从表中获取不自动计算的列?

来自分类Dev

Hibernate 不自动生成表

来自分类Dev

为什么此创建表SQL在MSSQL Server中有效但在MySQL上无效?

Related 相关文章

  1. 1

    为什么在表之间创建关系时,MySQL Workbench会自动创建多个键?

  2. 2

    为什么JPA \ Hibernate不自动创建此映射字段?

  3. 3

    主机为什么不自动拉动更改?

  4. 4

    为什么doctype不自动关闭

  5. 5

    为什么Scala不自动“处理” ClassTag?

  6. 6

    为什么logrotate不自动旋转?

  7. 7

    为什么内核不自动更新?

  8. 8

    在excel中,为什么我可以在表1和表2之间创建关系,但不能创建相反的关系?

  9. 9

    为什么编译器不自动在声明性宏中添加双括号?

  10. 10

    为什么不自动溢出在div元素中不起作用?

  11. 11

    为什么ContentDialog中的TextBox不自动在键盘上方滚动

  12. 12

    为什么iOS版7中的bottomLayoutGuide不自动考虑UIToolBar的高度,并且自动调整AdjustScrollViewInsets(带有自动布局)

  13. 13

    为什么表格不自动调整当前分辨率?

  14. 14

    为什么编译器不自动设置serialVersionUID?

  15. 15

    Rails为什么不自动生成视图文件?

  16. 16

    为什么ReactJS不自动为动态子代生成密钥?

  17. 17

    Rails为什么不自动为关联生成外键?

  18. 18

    为什么不自动分配long long类型的值?

  19. 19

    为什么下载时不自动安装软件包?

  20. 20

    Ubuntu为什么不自动删除旧内核?

  21. 21

    为什么该程序包不自动更新?

  22. 22

    为什么Proguard不自动知道应保留哪些文件

  23. 23

    为什么tDataSet.Append不自动调用Post

  24. 24

    为什么要创建联接表以在Rails 3中建立多对多关系

  25. 25

    为什么要以多对多关系创建新表?

  26. 26

    为什么要以多对多关系创建新表?

  27. 27

    如何仅从表中获取不自动计算的列?

  28. 28

    Hibernate 不自动生成表

  29. 29

    为什么此创建表SQL在MSSQL Server中有效但在MySQL上无效?

热门标签

归档