SQL 查询:复制 Store_ID = 1 的所有行
SQL query: Copy all rows with Store_ID = 1
我有一个包含两列的 table review_store
:review_id
和 store_id
如果我必须用 2 替换 1,我会这样做:
UPDATE review_store
SET store_id = '2'
WHERE store_id = '1'
如何 copy/duplicate store_ID = 1 到 Store_ID = 2 的每一行?
INSERT INTO `review_store` SELECT 2, review_id FROM `review_store` WHERE store_id = 1
注意,如果你有一个id列,你应该为它添加一个空白字段,所以
INSERT INTO `review_store` SELECT '', 2, review_id FROM `review_store` WHERE store_id = 1
还要检查字段的顺序。如果 review_id 出现在 store_id 之前,您需要重新排序 select。
我假设您的意思是在同一个 table 中创建新记录。使用 INSERT SELECT
INSERT INTO review_store
SELECT review_id, '2' as Store_id
FROM review_store
WHERE Store_id = '1'
INSERT INTO review_store (review_id, store_id)
SELECT review_id, 2
FROM review_store
WHERE store_id = 1
我有一个包含两列的 table review_store
:review_id
和 store_id
如果我必须用 2 替换 1,我会这样做:
UPDATE review_store
SET store_id = '2'
WHERE store_id = '1'
如何 copy/duplicate store_ID = 1 到 Store_ID = 2 的每一行?
INSERT INTO `review_store` SELECT 2, review_id FROM `review_store` WHERE store_id = 1
注意,如果你有一个id列,你应该为它添加一个空白字段,所以
INSERT INTO `review_store` SELECT '', 2, review_id FROM `review_store` WHERE store_id = 1
还要检查字段的顺序。如果 review_id 出现在 store_id 之前,您需要重新排序 select。
我假设您的意思是在同一个 table 中创建新记录。使用 INSERT SELECT
INSERT INTO review_store
SELECT review_id, '2' as Store_id
FROM review_store
WHERE Store_id = '1'
INSERT INTO review_store (review_id, store_id)
SELECT review_id, 2
FROM review_store
WHERE store_id = 1