请帮助我找到检查表中是否存在这些字作为字段名的方法。
我在这里找到下面的代码
SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME
IN ('lNum','rNum', 'tTime') AND TABLE_SCHEMA='summary';但是这个密码帮不了我,因为它符合名单中的一个。
谢谢
发布于 2018-12-05 08:23:03
这并不能直接回答你的问题,但太长了,不能发表评论。
通常,这种问题是通过单独的表来解决的,一个表引用要保存的属性,另一个表保存值。通过这种方式,您可以动态地向列表添加和删除属性。当然,拥有200个表可能会导致巨大的表,但是您仍然可以将它们分离成不同的表,这些表可以在第三个表中引用。
举个例子:
引用属性的表(id对应于第二个表中的类型):
----------------------------
| id | name | description |
----------------------------
| 0 | prop0 | bla |
| 1 | prop1 | blabla |
| 2 | prop2 | blablabla |
----------------------------存储值的表:
---------------------------------------------------
| id | type | test | value |
---------------------------------------------------
| 0 | 1 | 0 | one prop1 val for test 0 |
| 1 | 2 | 0 | one prop2 val for test 0 |
| 2 | 2 | 1 | another prop2 val for test 1 |
---------------------------------------------------另一个在不同表中分离集合的示例
引用其他表的表:
-----------------------------------------------
| id | name | propertiesTable | description |
-----------------------------------------------
| 0 | table0 | prop0 | bla |
| 1 | table1 | prop1 | blabla |
| 2 | table2 | prop2 | blablabla |
-----------------------------------------------与第一行相对应的表:
prop0: table0
---------------------------- ---------------------------------
| id | name | description | | id | type | value |
---------------------------- ---------------------------------
| 0 | prop0 | bla | | 0 | 1 | one prop1 val |
| 1 | prop1 | blabla | | 1 | 2 | one prop2 val |
| 2 | prop2 | blablabla | | 2 | 2 | another prop2 val |
---------------------------- ---------------------------------当然,如果您已经用未引用的表编写了大量代码,则可以使用Raymond的注释解决方案,但这将通过添加200个条件导致大量请求。
在2之间的另一种解决方案是引用另一个表中的所有表,如我的第二个示例中的那样,其中的字段按照所有列的字母顺序存储级联,类似于column1;column2;column3。通过这种方式,您可以在一个简短的请求中进行测试,如果有一个具有所有字段的表,则可以进行比较。
与这个概念的其他组合是可能的,可以更好地适合你的目的,你可以适应它,如果你了解一般的方法。
祝好运!
https://stackoverflow.com/questions/53613372
复制相似问题