我可以“重新声明”更新表来添加一些新列吗?

问题描述

| 我正在使用PHP,并且有一个常量声明表列的详细信息。 我目前在
$sql = \"CREATE TABLE \' . $table_name . \' \' . TABLE_COLUMNS;
上执行o​​dbc,其中TABLE_COLUMNS是DEFINE()(常量文字字符串)。 这比编码更像是一个sql问题。我不想更改DEFINE以外的任何代码;我只想要(如果可能)一条sql语句,如果它不存在,则创建该表,或者如果存在,则对其进行更新,根据需要插入列,并使用空白或zer0或在已经存在的行中有意义(必须保留) )。 可以做到这一点,还是我必须编写一些代码来知道以前的列以及现在的新列? (以及删除列呢?)     

解决方法

        一个定义就不会到达那里。您应该尝试创建表。如果失败,请尝试创建每个列。并不是说在大型表上一一添加列会非常耗时,因为MySQL实际上是在重新创建整个表并复制所有数据。 最好获取表的当前结构,对其进行解析,然后添加所需的列。 请检查这个类似的问题。