我有一个名为users
的表,我想让所有用户和每个用户在名为products
的表中创建一行。是否可以通过查询执行此操作?
答案 0 :(得分:3)
根据相应的表结构,INSERT INTO ... SELECT
语句应该起作用:
INSERT INTO `products`
SELECT 1 FROM `users`
如果products表有一个int
- 列,则会插入与users
表中的用户一样多的内容。
您只需调整SELECT
语句即可在新表中生成所需的值。
答案 1 :(得分:1)
您可以从这样的select语句中插入结果:
INSERT INTO products (field1,field2...) SELECT
something_that_goes_into_products_field1,
something_that_goes_into_products_field2,
....
FROM users
WHERE users_that_have_to_be_inserted
如果产品有自动增量字段,您可能应该从字段列表中省略它。