【问题标题】:insert child mysql插入子mysql
【发布时间】:2012-08-25 16:20:10
【问题描述】:

我有一个新手问题...

我有两张桌子:

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'

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

对不起,新手问题,但我潜伏了一天,一无所获。

提前感谢您的回复。

【问题讨论】:

  • 抱歉,几分钟前更改了意大利语单词“user”

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


【解决方案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';

【讨论】:

  • 你是我的英雄,大声笑 :D 谢谢:我整天都在寻找这个答案。
  • @YuriRefolo 很高兴我能帮上忙!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-25
  • 1970-01-01
  • 2013-01-27
  • 2010-12-12
  • 2014-06-17
  • 2014-02-25
  • 2010-09-21
相关资源
最近更新 更多