2013-09-27 33 views
1

您好,我想从我的pricelist表中添加一些行到products表。我试图通过测试数据填写我的products表。有可能使查询在哪里我可以添加随机数量的行到我的products表?主要的问题是我在select语句中的行比在insert语句中多。将数据插入到表中,其中select语句有更多列

INSERT INTO products(product_name, product_price) 
SELECT name_product, price_product, IF(RAND() > 0.2,1,0) AS random 
FROM pricelist 
HAVING random = 1 

回答

4

将条件放在WHERE条款中。您计算的列random没有意义,因为您不要将其插入其他表格中。

INSERT INTO products(product_name, product_price) 
SELECT name_product, price_product 
FROM pricelist 
WHERE RAND() > 0.2 = 1 
0

你的意思是你在select语句中比在insert语句中有更多的列。列号必须匹配。还有更好的方法来选择随机行...

INSERT INTO products(product_name, product_price) 
SELECT name_product, price_product 
FROM pricelist 
ORDER BY RAND() 
LIMIT 5 
+1

我的意思是用户'491243'写在下面。 – Bushwacka

相关问题