Php 为什么不自动创建at关系表?(在mysql中)
我是sql方面的新手。我对英语不是土生土长的 所以,请原谅我的英语能力 这是我的mysql代码 最后五行是测试用的。从董事会和职位中进行选择工作正常 但是 它不起作用。此代码没有错误。但没有输出结果 我猜这意味着Save_Board_Post表中没有数据 我认为REFERENCES命令是在插入父表时自动创建数据的 如果没有,请告诉我如何自动创建关系数据。不,这不是引用所做的。引用约束的意思是,手动插入到Save_Board_Post表中的每一行都必须有boardID和Post表中存在的posted。不会自动将任何内容插入到该表中 如果您试图表示帖子所在的板,那么适当的方法是将板ID设置为帖子的属性,例如Php 为什么不自动创建at关系表?(在mysql中),php,mysql,sql,Php,Mysql,Sql,我是sql方面的新手。我对英语不是土生土长的 所以,请原谅我的英语能力 这是我的mysql代码 最后五行是测试用的。从董事会和职位中进行选择工作正常 但是 它不起作用。此代码没有错误。但没有输出结果 我猜这意味着Save_Board_Post表中没有数据 我认为REFERENCES命令是在插入父表时自动创建数据的 如果没有,请告诉我如何自动创建关系数据。不,这不是引用所做的。引用约束的意思是,手动插入到Save_Board_Post表中的每一行都必须有boardID和Post表中存在的poste
select * from Save_Board_Post where boardID= 'testBoard';
而不是为该数据创建一个完全独立的表。您不能通过插入父表来自动将数据插入子表。你说它失败是因为表中没有数据,这是对的。存在引用完整性以删除数据库中的冗余。我认为没有办法通过插入父表来自动插入子表。您必须手动执行此操作。fwiw,有一种方法可以自动插入到子表中。->请参见创建触发器[之前|之后]插入到..中。感谢您提供的信息。我想我有点生锈了。用户表示自己是新手。为了我们的集体利益,你能更好地解释一下吗?我以前从未使用过触发器。哦,我知道了,谢谢你的回答!
select * from Save_Board_Post where boardID= 'testBoard';
CREATE TABLE Post (
postID INTEGER NOT NULL AUTO_INCREMENT,
boardID CHAR(30) NOT NULL,
...
FOREIGN KEY (boardID) REFERENCES Board(boardID)
);