Drupalテーブル作成エラー[閉じました]
-
13-12-2019 - |
質問
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'プロパティを持ついくつかのタイプミスを発見しました。最初にそれらを修正してみてください fname と lname それが動作するかどうかを確認します。
所属していません StackOverflow