这对MySQL本身来说不是什么大问题.
全文
我正在编写一个非常小的PHP框架.它不像现有框架那样迫使您使用某种方法.它不像CMS框架.相信我,我见过Zend框架,我已经广泛使用了像Joomla和WordPress这样的CMS,没有一个能够接近我正在做的事情.
介绍问题
我正在编写数据库抽象部分.你得到类方法,如:: table_exists()等.
它的设计方式使人们可以轻松添加不同的数据库类并使用它们(例如:mysql,mssql,oracle,flatfile ……).
他们只需要编写一个满足基本抽象类的类.
真实问题
我正在编写:: table_create()的功能,但有一个主要问题:MySQL不喜欢空表(即没有列).
我有几个建议的修复:
>对于每个新表,创建一个常用列,例如’id'(type = INT)
>对于每个新表,创建一个尽可能不使用任何空间的临时列(可能是一个布尔列?)
>以某种方式延迟表创建,直到至少可以创建一列
这种方法肯定是新的,我想在这里对它进行一些公正的评论(“但没有人这样做”的任何内容都不会这样做).
解决方法:
好吧,我会选择1),添加一个通用ID列,无论如何你可能会发现,或者选项3)延迟表创建.我假设他们调用:: table_create()后会调用table_add_col()等等.所以只需要延迟创建,直到至少有一列,或者直到他们第一次尝试使用该表为止.
标签:php,mysql,database
来源: https://codeday.me/bug/20190626/1298978.html