2013-09-27 84 views
-4

有人可以帮我用这个mysql代码吗?它不起作用。MYSQL数据库错误

REATE TABLE `users` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `username` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
    `password` char(64) COLLATE utf8_unicode_ci NOT NULL, 
    `salt` char(16) COLLATE utf8_unicode_ci NOT NULL, 
    `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
    `avatar` text NOT NULL, 
    `signup_date` int(10) NOT NULL 
    PRIMARY KEY (`id`), 
    UNIQUE KEY `username` (`username`), 
    UNIQUE KEY `email` (`email`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1; 
+1

什么错误信息你好吗?说“不起作用”还远远不够。 – Mansfield

+0

'CREATE'或'REATE'? –

+0

'REATE TABLE'?可能是那些烦人的“缺失字符”错误之一。 – tadman

回答

0

答案看起来很简单,直到你没有提到错误时为止。尝试使用createreate: -

CREATE TABLE `users` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `username` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
    `password` char(64) COLLATE utf8_unicode_ci NOT NULL, 
    `salt` char(16) COLLATE utf8_unicode_ci NOT NULL, 
    `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL, 
    `avatar` text NOT NULL, 
    `signup_date` int(10) NOT NULL, 
    PRIMARY KEY (`id`), 
    UNIQUE KEY `idx_username` (`username`), 
    UNIQUE KEY `idx_email` (`email`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1; 

SQL FIDDLE

+0

为什么downvote ????? –

+0

我还没有投票给你...呢。您正在重复出现在OP中的错误:索引名称与列名称相同,这是不允许的。将它们命名为'idx_username','idx_email'。 – Barranka

+0

@Barranka: - 感谢您的建议。希望适用于OP :) –