[英]Using subqueries and data - MySQL
在mysqli中插入时,是否可以使用子查询并同时在值中使用数据?
insert into articles(description) values('Information');
insert into blogs(blog, article_id) values('example.com/', SELECT LAST_INSERT_ID());
是的你可以。 只需将子查询括在括号中即可。 例:
CREATE TABLE articles (id int not null primary key, description varchar(50));
Query OK, 0 rows affected (0.06 sec)
CREATE TABLE blogs (id int not null primary key, blog varchar(50), article_id int);
Query OK, 0 rows affected (0.06 sec)
INSERT INTO articles (description) VALUES ('Information');
Query OK, 1 row affected, 1 warning (0.04 sec)
INSERT INTO blogs (blog, article_id) VALUES ('example.com/', (SELECT LAST_INSERT_ID()));
Query OK, 1 row affected, 1 warning (0.04 sec)
但是正如@Pekka在上面的注释中建议的那样,在这种情况下,您甚至不需要子查询。 这本来可以工作:
INSERT INTO blogs (blog, article_id) VALUES ('example.com/', LAST_INSERT_ID());
您可能要使用insert...select
代替。
http://dev.mysql.com/doc/refman/5.1/en/insert-select.html
所以这就像
insert into blogs(...) select 'example.com/', last_insert_id()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.