我通过复制现有的表结构来创建一个新表:
CREATE TABLE IF NOT EXISTS `PeopleView` LIKE `People`
然后,我希望使用通配符更改所有字段的数据类型:
ALTER TABLE `PeopleView` CHANGE * * VARCHAR(3) NOT NULL
知道怎么做吗?
我可以做这样的事情:
ALTER TABLE `PeopleView` CHANGE `FirstName` `FirstName` VARCHAR(3) NOT NULL
但是我需要一个函数,我可以在许多不同的表上运行,这些表的字段名都是不同的。
用途:创建另一个表,该表包
我编写了一个mymodule.install文件,其中包含一个模式定义,用于在我的数据库中创建一个表。此表包含两个数据字段。当用户填写特定内容时,这些字段将由用户填充(例如:指定新闻的发布日期)。现在,我没有故意使用日期贡献模块,因为出于其他原因,我需要这两个字段位于数据库表中的同一行。
hook_schema以这种方式定义了这两个字段:
'pubblish_date' => array(
'description' => t('The pubblish date for the single news'),
'
在什么情况下MySQL会将类型转换为TINYINT?我知道mysql DDL中的BOOL或BOOLEAN类型将自动转换为TINYINT(1) for for true或false。我正在分析一个数据库,其中一个表中的一个字段具有varchar(16)类型,而另一个表中的同一字段具有tinyint(4)类型?例如,t1.name varchar(15)和t2.name tinyint(4),其中t1.name=t2.name。