質問

Hook_schema関数を使用してDrupalデータベースにテーブルを作成しようとしていますが、解決できなかったPDO例外エラーが発生しています。あなたは私に私の問題の解決策を提供することができれば素晴らしいだろう

PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 
You have an error     in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near 'DEFAULT '' COMMENT
'first name of the user', `lname` VARCHAR DEFAULT '' COMMENT' at line 3: 
CREATE TABLE {mage_user} ( `uid` INT unsigned NOT NULL auto_increment COMMENT 
'The foreign identifier for a mage user.', `fname` VARCHAR DEFAULT '' 
COMMENT 'first name of the user', `lname` VARCHAR DEFAULT '' COMMENT 
'last name of the user', `address1` VARCHAR(255) DEFAULT '' COMMENT 
'adress line 1', `address2` VARCHAR(255) DEFAULT '' COMMENT 'adress line 2',
`postcode` VARCHAR(7) DEFAULT '' COMMENT 'postcode', `gender` VARCHAR(6) 
DEFAULT ''  COMMENT 'gender' ) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 
COMMENT 'The base table for mage user.'; Array ( ) in db_create_table() 
(line 2688 of E:\Server\drupal\includes\database\database.inc).

私は使用しています

Apache/2.2.22(Win32)PHP/5.3.10 MySQLクライアントのバージョン:mysqlnd5.0.8-dev-20102224-$リビジョン:321634 $

MySQLサーバーバージョン5.5.21

私のスキーマ定義は

    function mageacc_schema() {

          $schema['mageuser'] = array(
        'description' => 'The base table for mage user.', 
        'fields' => array(
        'uid' => array(
        'description' => 'The foreign identifier for a mage user.', 
        'type' => 'serial',  
        'not null' => TRUE,
  ), 
  'fname' => array(
    'description' => 'first name of the user', 
    'type' => 'varchar', 
    'lenght' => 255, 
    'default' => '',
  ),
      'lname' => array(
      'description' => 'last name of the user', 
      'type' => 'varchar', 
      'lenght' => 255, 
      'default' => '',
  ),
     'address1' => array(
     'description' => 'adress line 1', 
     'type' => 'varchar', 
     'length' => 255,
     'default' => '',

  ),
  'address2' => array(
      'description' => 'adress line 2', 
      'type' => 'varchar', 
      'length' => 255, 
      'default' => '',

     ),
     'postcode' => array(
      'description' => 'postcode', 
      'type' => 'varchar', 
      'length' => 7,  
       'default' => '',
    ),
    'gender'=>array(
    'description' => 'gender',
    'type' => 'varchar',
    'length' => 6,
    'default' => '',
    ),

  ), 

        );

  return $schema; 

}

事前に感謝します

役に立ちましたか?

解決

私は'length'プロパティを持ついくつかのタイプミスを発見しました。最初にそれらを修正してみてください fnamelname それが動作するかどうかを確認します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top