您好我想在pricelist
表中添加一些行到products
表。我试图通过测试数据来填充我的products
表。是否可以在我可以向我的products
表中添加随机行数的位置进行查询?主要问题是我在select语句中的行数多于insert语句中的行数。
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
答案 0 :(得分:4)
将您的条件放在WHERE
子句中。您计算的列random
没有意义,因为您不要将其插入另一个表。
INSERT INTO products(product_name, product_price)
SELECT name_product, price_product
FROM pricelist
WHERE RAND() > 0.2 = 1
答案 1 :(得分:0)
您的意思是select语句中的列数多于insert语句中的列数。列号必须匹配。还有更好的方法来选择随机行...
INSERT INTO products(product_name, product_price)
SELECT name_product, price_product
FROM pricelist
ORDER BY RAND()
LIMIT 5