以下是我拥有的表格示例:
mysql> select * from table_a where description='Auto';
+----+----------+-------------+-----------------+
| id | idparent | description | description_url |
+----+----------+-------------+-----------------+
| 11 | NULL | Auto | NULL |
| 74 | 73 | Auto | NULL |
+----+----------+-------------+-----------------+
2 rows in set (0.00 sec)
mysql>现在我插入另一个表中另一个记录并记住它的最后插入的ID:
INSERT INTO table_b (description) values ('Myvalue');
set @lt=LAST_INSERT_ID();现在我已经进入了@lt的值。
我可以做到这一点(它的工作原理):
INSERT INTO table_a_link_b (id_a, id_b) VALUES (11, @lt);
INSERT INTO table_a_link_b (id_a, id_b) VALUES (74, @lt);现在接下来不起作用:
INSERT INTO table_a_link_b (id_a, id_b) VALUES
( (SELECT id FROM table_a where description='Auto') , @lt);所以我试图把它变成一个变量:
mysql> set @t=(select id from table_a where description='Auto');
ERROR 1242 (21000): Subquery returns more than 1 row它不起作用。有没有一种方法可以做到这一点,而不需要制作一个Php批处理文件并保持纯SQL?