只是想知道如何将动态列插入到现有的 MySQL 表中?例如:我已经有“sampletable
”,我想制作可以将动态列添加到现有table
的输入字段,示例:column1、column2、column3
。如何使用动态编号来做到这一点?
最佳答案
我同意@Barmar的观点,如果你尝试这样做,你的SQL表结构是错误的。在这种情况下,您尝试做的就是所谓的“一对多”关系。这通常是通过执行以下操作来实现的。
表 1:包含所有常用数据的列(用您的术语来说是非“动态”列),以及所有良好的数据库表都应具有的唯一 ID 列
表 2:ID 列、引用表一上的 ID 列的列以及动态列中数据的列。
现在,您可以将通常存储在“动态列”中的值存储在第二个表的各个行中。
示例
// sample:
//
// | id | name |
//
// dynamic_values:
//
// | id | sample_id | value |
// Selecting data
SELECT * FROM sample WHERE id = 1;
SELECT * FROM dynamic_values WHERE sample_id = 1;
// Querying on "dynamic columns"
SELECT * FROM sample s LEFT JOIN dynamic_values d ON d.sample_id = s.id WHERE d.value = 'something';
关于php - 向现有 MySQL 表添加动态列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26417461/