【问题标题】:Mysql add column from another table (no reference id)Mysql从另一个表添加列(无参考ID)
【发布时间】:2015-10-18 10:38:52
【问题描述】:

small包含
column A varchar(10) column B varchar(20)

骨架包含
column A varchar(10) column B varchar(20) column C varchar(30) column D varchar(40)

我想将 column C varchar(30) 从表 skeleton 添加到 small 表。

请注意skeleton 不包含任何数据,并且两个表没有任何共同的键来连接。

@Ultimater 谢谢.. 但这并不能解决问题.. 实际上我不知道需要添加哪一列,它将基于源数据.... small表实际上是一个动态表,它会随着时间增长......骨架表就像一个模式表,可以从中获取确切的列名和类型。希望你能理解....

@update my data feed for small table 将是一个 XML 文件,我也有 XSD 文件...所以如果有人可以提供除 xsdreader 以外的任何 PHP 的 XSD 阅读器库 - (我试过但没有成功)那么它同样会解决我的问题......希望你能理解。

【问题讨论】:

  • 那么小表中的哪个值应该和骨架中的哪个值相加呢?两张表之间有什么关系吗?
  • 没有关系....我只想创建一个具有确切类型的骨架列的列...小表将有数据但骨架将始终为空。
  • 在我看来,如果您尝试动态添加到小表中,也许您可​​以在需要添加新列时使用@Ultimater 的代码。
  • 我不确定......如果我关注你......我的数据源将是一个 xml 数据源......它将由 php 脚本(调度程序)读取。并将其提供给mysql(小表)......可能需要在小表中添加一个新列,但这取决于xml提要......我将从xml获取列名,但我需要确切的类型,长度等...来自骨架表的那一列....
  • 如果你建议像show fields from skeleton where Field='Column C' 这样的东西并在PHP中构建一个查询..我更喜欢像create table as .....这样的mysql方式......这可能吗?

标签: php mysql database xsd


【解决方案1】:

如果我对您的理解正确,那么您要做的就是将另一列添加到已经存在的表中。例如,这对于 phpMyAdmin 来说非常简单。在您的情况下,您只需要:

ALTER TABLE  `small` ADD `C` VARCHAR( 30 ) NOT NULL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2015-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多