如何使用父创建的新ID自动将id插入子表

时间:2011-05-06 21:34:39

标签: mysql sql foreign-keys

如何使用id_user作为默认插入到子user_id中?我将立即更新,无需额外选择并插入我的程序。这可能吗?

CREATE TABLE IF NOT EXISTS `users` (
  `id_user` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(25) NOT NULL DEFAULT '',
  PRIMARY KEY (`id_user`)
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS  `scores` (
 `user_id` INT( 10 ) NOT NULL DEFAULT  '0',
 `score` INT( 10 ) NOT NULL DEFAULT  '0',
PRIMARY KEY (`user_id`),
CONSTRAINT FOREIGN KEY ( `user_id` ) REFERENCES  `users` ( `id_user` )
    ON UPDATE CASCADE
) ENGINE = INNODB;

INSERT INTO users (name) VALUES ('i am');

UPDATE scores SET score = '10' WHERE user_id = '1';

1 个答案:

答案 0 :(得分:0)

不确定我理解这个例子。如果您刚刚插入了用户编号1,那么scores中有user_id = 1的记录是怎么回事?

无论如何,如果您的问题是如何将您刚插入的用户的ID 导入users,那么您可以将子记录插入scores,您可以运行

SELECT LAST_INSERT_ID();
第一次插入后

,并将结果用于第二次插入(/ update)。