Experts,
Given a script that uses the following format to create tables on the
fly:
CREATE TABLE $tName (
id int(11) unsigned NOT NULL auto_increment PRIMARY KEY,
[...]
p_MSG text,
[...]
notifyLvl tinyint unsigned,
FULLTEXT KEY p_MSG (p_MSG)
)TYPE=MyISAM
The table is created no problem, BUT the FULLTEXT directive is ignored!
I have to manually add them with:
mysql> ALTER TABLE t20050224 ADD FULLTEXT KEY p_MSG (p_MSG);
Query OK, 303300 rows affected (1 min 7.77 sec)
Records: 303300 Duplicates: 0 Warnings: 0
I then do a:
mysql> show create table t20050224;
| t20050224 |CREATE TABLE `t20050224` (
`id` int(11) unsigned NOT NULL auto_increment,
[...]
`p_MSG` text,
[...]
`notifyLvl` tinyint(3) unsigned default NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `p_MSG` (`p_MSG`)
) TYPE=MyISAM |
...and it looks fine (once I've added the FULLETXT index manually)!
Clearly not a problem with MySQL, right? Then why are commands treated
differently when using DBI/DBD?
And more importantly, how can one execute a CREATE TABLE command and
only have SOME of the directives used, yet without failure of the
entire command?
TIA!