php - 向现有 MySQL 表添加动态列?

标签 php mysql

只是想知道如何将动态列插入到现有的 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/

相关文章:

php - Laravel 使用另一封电子邮件向(通知)用户发送电子邮件?

带日期戳的 PHP 重命名

PHP打开另一个带有POST数据的网页

mysql - 从模式重新创建 mysql 数据库

php - 如何正确连接具有多对一关系的表

mysql - 将数据库关系更改为 Laravel eloquent

php - 内容长度转换

php - 允许用户创建一个新表,但每个主题只能创建一个表

javascript - 有没有办法通过列类型/属性来格式化 MySQL celldata?

php显示类别和子类别