mysql - 插入子mysql

标签 mysql foreign-keys parent-child foreign-key-relationship insert-into

我有一个新手问题...

我有两个表:

parentTable
-----------
id_user int(11) not null auto increment primary key,
email varchar(64),
pass varchar(64)

childTable
----------
id_user int(11) not null, 
name varchar(64), 
address varchar(512), 
foreign key (id_user) references parentTable(id_user) 
on update cascade 
on delete restrict

现在我可以插入:

insert into childTable (id_user) select id_user from parentTable where id_user = '1'

但我只想插入名称和地址值。

抱歉新手问题,我潜伏了一天一无所获。

预先感谢您的回复。

最佳答案

查询中有趣的部分是您知道您尝试选择插入的 id_user - 它在您的 WHERE 子句中.

如果您始终知道 id_user,则可以跳过查询的额外 SELECT 部分并直接执行:

INSERT INTO childTable (id_user, name, address) VALUES (1, 'some name', '123 test street');

如果您出于某些其他原因需要额外的 SELECT,您可以将 name/address 值直接附加到字段中 -列表,像这样:

INSERT INTO childTable (id_user, name, address)
    SELECT id_user, 'some name', '123 test street' FROM parentTable WHERE id_user = '1';

关于mysql - 插入子mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12123644/

相关文章:

php - 尝试调整缩略图的大小和裁剪图像

sql - 连接表时无法识别Where子句中的列

java - 父类初始化时创建子类对象

android - 在 childView.setScaleX()/setScaleY() 之后调整 ScrollView 视口(viewport)的大小

C# - 如何处理 2 "TopMost"表单?

Mysql:在同一张表上进行子查询更新?

php - 收到错误 'Error: INSERT INTO ` call`.`logs` (id, hashkey, ) VALUES (, XXX, )'

MySQL : Table optimization word 'guest' or memberid in the column

sql - Oracle JDBC 忽略 CONCUR_UPDATABLE 结果集中的 SET CONSTRAINTS ALL DEFERRED

mysql 外键创建表