Mysql 插入具有未知外键但已知其他列信息的行的最简单方法
为了澄清这个问题,我有一张表,我们称之为“tAuthor”,另一张表称为“tBook”。这些表有以下列 tautorMysql 插入具有未知外键但已知其他列信息的行的最简单方法,mysql,insert,Mysql,Insert,为了澄清这个问题,我有一张表,我们称之为“tAuthor”,另一张表称为“tBook”。这些表有以下列 tautor id-INT(PK) fname-VARCHAR(50) lname-VARCHAR(50) tBook id-INT(PK) authorid-INT(主键) 名称-VARCHAR(50) 如果我有作者的名字和姓氏,并且想为他们在tBook中插入一本新书,那么有没有一种简单的方法可以让insert语句自动填入authorid,其中fname=“Known”和lname=
- id-INT(PK)
- fname-VARCHAR(50)
- lname-VARCHAR(50)
- id-INT(PK)
- authorid-INT(主键)
- 名称-VARCHAR(50)
INSERT INTO tBook (name, authorid)
VALUES(SELECT 'NewBook', id
FROM tAuthor
WHERE tAuthor.fname = 'FirstName'
and tAuthor.lname = 'LastName')
我不建议使用作者的名字,因为可能会有重复的。但是,此语句将执行您所需的插入。基本上,您可以从需要ID的表中进行子选择,并将其余信息填写为硬编码值,而不是要检索的值。如果您需要更新一组更大的记录,并且所有记录都共享一个公共元素,那么这也是一种进行多次更新的好方法。但是,对于未知的“书名”列呢?这是一个与PHP相关的问题吗?您可以使用Java。@Spidy:那么您必须定义语言(如果有的话)。主要猜测是PHP@Shakti辛格:这是一个mysql问题,就是这样。语言不需要定义