-2

データベースにテーブルを作成しようとすると、このエラーが発生します..

#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 'NOT NULL, `call_code_id` INT(11) UNSIGNED NOT NULL, `result_code` ENUM NOT NULL,' at line 1 

これでエラーが発生するのは何ですか?これは私のmysqlコードです。

CREATE TABLE  `phone_calls` (

`phone_call_id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`account_id` INT( 11 ) UNSIGNED NOT NULL ,
`team_id` INT( 11 ) UNSIGNED NOT NULL ,
`campaign_id` INT( 11 ) UNSIGNED NOT NULL ,
`call_code` ENUM NOT NULL ,
`call_code_id` INT( 11 ) UNSIGNED NOT NULL ,
`result_code` ENUM NOT NULL ,
`result_code_id` INT( 11 ) UNSIGNED NOT NULL ,
`time_zone_id` INT( 11 ) UNSIGNED NOT NULL ,
`trigger_on` DATETIME NOT NULL ,
`created_on` DATETIME NOT NULL ,
`first_attempt_on` DATETIME NOT NULL ,
`first_attempt_by` INT( 11 ) UNSIGNED NOT NULL ,
`first_attempt_by_name` CHAR( 30 ) NOT NULL ,
`call_subject` CHAR( 50 ) NOT NULL ,
`status` TINYINT( 2 ) NOT NULL COMMENT  '0= purge, 1=active, 2 = in progress, 3 = completed',
`last_attempt_on` DATETIME NOT NULL ,
`last_attempt_by` INT( 11 ) UNSIGNED NOT NULL ,
`last_attempt_by_name` CHAR( 30 ) NOT NULL ,
`total_attempts` TINYINT( 3 ) NOT NULL DEFAULT  '0',
`modified_by` INT( 11 ) UNSIGNED NOT NULL ,
`modified_by_name` CHAR( 30 ) NOT NULL ,
`client_id` INT( 11 ) UNSIGNED NOT NULL ,
`last_call_id` INT( 11 ) UNSIGNED NOT NULL ,
`call_direction` ENUM NOT NULL COMMENT  'INBOUND or OUTBOUND',
`call_notes` TEXT NOT NULL ,
INDEX (  `account_id` ,  `team_id` ,  `campaign_id` ,  `call_code` ,  `call_code_id` ,  `result_code` ,  `result_code_id` ,  `time_zone_id` ,  `first_attempt_by` ,  `last_attempt_by` ,  `modified_by` ,  `client_id` ,  `last_call_id` )
) ENGINE = MYISAM

お時間をありがとうございました:)

4

2 に答える 2

1

ENUMの定義が正しくない場合は、次を確認してください。

文書化

私はあなたがそこにあなたの答えを見つけることができると確信しています:)

于 2013-02-26T18:06:32.457 に答える
0

enum次のように、すべての列に可能な値を定義する必要があります。

CREATE TABLE  `phone_calls` (
`phone_call_id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`account_id` INT( 11 ) UNSIGNED NOT NULL ,
`team_id` INT( 11 ) UNSIGNED NOT NULL ,
`campaign_id` INT( 11 ) UNSIGNED NOT NULL ,
`call_code` ENUM('foo','bar') NOT NULL ,
`call_code_id` INT( 11 ) UNSIGNED NOT NULL ,
`result_code` ENUM('foo','bar') NOT NULL ,
`result_code_id` INT( 11 ) UNSIGNED NOT NULL ,
`time_zone_id` INT( 11 ) UNSIGNED NOT NULL ,
`trigger_on` DATETIME NOT NULL ,
`created_on` DATETIME NOT NULL ,
`first_attempt_on` DATETIME NOT NULL ,
`first_attempt_by` INT( 11 ) UNSIGNED NOT NULL ,
`first_attempt_by_name` CHAR( 30 ) NOT NULL ,
`call_subject` CHAR( 50 ) NOT NULL ,
`status` TINYINT( 2 ) NOT NULL COMMENT  '0= purge, 1=active, 2 = in progress, 3 = completed',
`last_attempt_on` DATETIME NOT NULL ,
`last_attempt_by` INT( 11 ) UNSIGNED NOT NULL ,
`last_attempt_by_name` CHAR( 30 ) NOT NULL ,
`total_attempts` TINYINT( 3 ) NOT NULL DEFAULT  '0',
`modified_by` INT( 11 ) UNSIGNED NOT NULL ,
`modified_by_name` CHAR( 30 ) NOT NULL ,
`client_id` INT( 11 ) UNSIGNED NOT NULL ,
`last_call_id` INT( 11 ) UNSIGNED NOT NULL ,
`call_direction` ENUM('foo','bar') NOT NULL COMMENT  'INBOUND or OUTBOUND',
`call_notes` TEXT NOT NULL ,
INDEX (`account_id` ,  `team_id` ,  `campaign_id` ,  `call_code` ,  `call_code_id` , `result_code` ,  `result_code_id` ,  `time_zone_id` ,  `first_attempt_by` ,  `last_attempt_by` ,  `modified_by` ,  `client_id` ,  `last_call_id` )
) ENGINE = MYISAM

参照:http ://dev.mysql.com/doc/refman/5.0/en/enum.html

于 2013-02-26T18:09:40.830 に答える