Drupal添加了字段varchar问题

时间:2012-09-26 15:55:29

标签: database drupal-7 amend

我使用以下代码通过添加额外的列来修改数据库表:

$componentName = 'is_this_the_first_time_you_have_taken_part_in_or_attended_this_event';
    db_add_field('webform_views_data',
        $componentName,
            array('type' => 'varchar', 'length' => 255, 'not null' => TRUE)
    );

但是,我一直收到以下错误:

> PDOException: SQLSTATE[42000]: Syntax error or access violation: 1059
> Identifier name
> 'is_this_the_first_time_you_have_taken_part_in_or_attended_this_event'
> is too long: ALTER TABLE {webform_views_data} ADD
> `is_this_the_first_time_you_have_taken_part_in_or_attended_this_event`
> VARCHAR(255) NULL DEFAULT NULL; Array ( ) in db_add_field() (line 2812
> of /var/www/mysite/includes/database/database.inc).

关于错误消息中明显的长度细节,我想我们都同意'is_this_the_first_time_you_have_taken_part_in_or_attended_this_event'长度不是255个字符。

不确定是什么问题。

1 个答案:

答案 0 :(得分:1)

VARCHAR(255)或255个字符是字段内容的最大字符,但错误指出该字段的名称太长。

也就是说,is_this_the_first_time_you_have_taken_part_in_or_attended_this_event对于字段名称来说太长了。

有关相关问题,请参阅this answer,并注意根据MySQL documentation字段名称的字符数限制为64个字符。