0

次のコードを使用して、列を追加してデータベーステーブルを修正しています。

$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文字ではないことに同意できると思います。

問題が何であるかわからない。

4

1 に答える 1

1

VARCHAR(255)または255文字がフィールドの内容の最大文字ですが、エラーはフィールドの名前が長すぎることを示しています。

つまりis_this_the_first_time_you_have_taken_part_in_or_attended_this_event、フィールド名には長すぎます。

関連する質問についてはこの回答を参照してください。また、 MySQLのドキュメントによると、フィールド名の文字数制限は64文字であることに注意してください。

于 2012-09-26T16:34:34.093 に答える