【问题标题】:Mysql - select multiple inserted recordsMysql - 选择多个插入的记录
【发布时间】:2014-03-14 01:53:51
【问题描述】:

如何在同一个存储过程中选择多条插入的记录?

INSERT INTO cars (type, status_id) 
VALUES ('GM',1),
       ('Toyota',2),
       ('Honda',3);

cars 有一个名为 car_id 的 AUTO_INCREMENT PK 字段。 假设表格已插入

1556 通用 1

1557 丰田 2

1558 本田 3

如何选择它?

【问题讨论】:

标签: mysql insert


【解决方案1】:

你可以使用这两个函数的结果:

像这样:

INSERT INTO cars (type, status_id) 
VALUES ('GM',1),
       ('Toyota',2),
       ('Honda',3);

SELECT *
FROM cars
WHERE car_id BETWEEN LAST_INSERT_ID()
                 AND LAST_INSERT_ID() + ROW_COUNT() - 1
;

【讨论】:

    【解决方案2】:

    好的,很容易解决。

    declare new_cars int;
    INSERT INTO cars (name, type) 
    VALUES  ('GM',1),
            ('Toyota',2),
            ('Honda',3);
    select row_count() into new_cars;
    select * from cars
    order by car_id desc
    limit new_cars;
    

    【讨论】:

    • 有没有更好的办法?
    猜你喜欢
    • 2010-11-15
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多