我试图从表中获取所有列。问题是,每个表都有可变数量和列的顺序。
是否可以从一个特定的表中获取所有列?
我需要检查具有可变列数的表中是否存在值。
答案 0 :(得分:0)
是的,您可以使用tablename.*
,这是一个简短的例子:
SELECT table1.*
FROM table1
JOIN table2 ON table2.id = table1.id
检查是否存在任何列中的变量,您首先使用scaisEdge发布的查询选择列:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database'
AND TABLE_NAME = 'my_table';
然后,您将遍历此查询的结果以构建查询的IN(column1, column2 e.t.c)
部分
而且你可以将这一行放在新选择的位置:
WHERE ? IN(column1, column2)
使用预准备语句,这样您就不会受到sql注入的攻击
答案 1 :(得分:0)
表示与您可以使用的栏目相关的值
select * from my_table;
否则您应使用
列名称SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database'
AND TABLE_NAME = 'my_table';