如何在列中插入选择查询。此sql查询需要屏幕上的用户输入。
例如:
我有一个包含2列的表格:Query_ID_fruit
,SQL_QUERY_COL_FRUIT
select fruitA from fruits where fruitAttribute = '&fruitAttribute';
如何在SQL_QUERY_COL_FRUIT
?
答案 0 :(得分:0)
喜欢这个吗?
INSERT INTO fruits_querys (SQL_QUERY_COL_FRUIT)
VALUES ("select fruitA from fruits where fruitAttribute = '&fruitAttribute';");
答案 1 :(得分:0)
您可以将任何 select
子句的结果插入表中。如果您的select
返回目标表的相同列数(并且顺序相同),则可以使用:
insert into your_destination_table
select ...
如果您需要插入目标表但不打算填充所有列,或者select具有不同顺序的列:
insert into your_destination_table (field1, field2, ...)
select ...
当然,您需要满足目标表所具有的任何条件(例如:PK字段上没有空值,select的数据类型必须与目标表的列的数据类型匹配等)。
答案 2 :(得分:0)
将SQL查询插入表时要非常非常小心。如果它们是使用用户输入构建的,则很容易出现SQL注入漏洞。在将SQL查询插入表之前,尝试使用参数化查询或至少转义任何用户输入。
为了逃避单引号,你实际上使用了两个背对背,所以''在一个字符串内变成'。
您的查询可以使用:
'select fruitA from fruits where fruitAttribute = ''&fruitAttribute'';'
哪个应该有效。请注意&fruitAttribute
是什么。