gpt4 book ai didi

java - 是否可以在mysql中将表本身的属性名称作为字符串传递?

转载 作者:行者123 更新时间:2023-11-29 07:48:34 26 4
gpt4 key购买 nike

我有一个表,其中包含属性 id 和 name1,name2,name3.....name10,其中这十个名称都属于 id。

id   name1 name2 name3 name4 name5 name6 name7 name8 name9 name10
201 ijk lmn xyz abc efg hks dkm jjl dkn awt
202 mjl pan van slm tko kds jar slk dkf asd

现在我需要检索 id,无论遇到 10 个名称中的哪个名称。如果它是一个 print 语句,则通过保持字符串“name”不变,使用循环来增加数字将非常容易。但是使用mysql语句的时候怎么办呢?首先,是否可以将属性名称作为字符串传递?

例如:为 where 条件传递字符串时,

String uname=jf1.getText();
PreparedStatement stmt=conn.prepareStatement("Select * from staff where id = ?");
stmt.setString(1,uname);
ResultSet rs=stmt.executeQuery();
rs.next();

但是当我需要检查name1到name10的所有属性时,可以这样吗?

String uname=jf1.getText();
PreparedStatement stmt=conn.prepareStatement("Select id from staff where ?=?");
for(int i=1;i<=10<i++)
stmt.setString(1,"name"+i);
stmt.setString(2,uname);

用户通过文本字段给出 uname。

最佳答案

使用 IN 不会更容易!

SELECT
id
FROM
staff
WHERE
? IN (name1, name2, name3, name4, name5,
name6, name7, name8, name9, name10);

关于java - 是否可以在mysql中将表本身的属性名称作为字符串传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27065152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com