2014-12-04 83 views
-3

我在'adminlogin'附近出现语法错误。代码如下我的sql语法不正确

这是什么错误呢?代替双qoute( “”)的

CREATE TABLE IF NOT EXISTS "adminlogin" (
    `id` intiger (11) NOT NULL AUTO_INCREMENT, 
    `adminusername` varchar(50) COLLATE latin1_general_ci DEFAULT NULL, 
    `adminpassword` varchar(50) COLLATE latin1_general_ci DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=3 ; 
+3

不要使用引号的表名,使用反引号像对于其余列,也是整数不是intiger – Mihai 2014-12-04 12:25:04

+3

MySQL <> SQL Server。 – 2014-12-04 12:31:37

回答

2

使用蜱(`)

CREATE TABLE IF NOT EXISTS `adminlogin` (
`id` integer(11) NOT NULL AUTO_INCREMENT , 
`adminusername` VARCHAR (50) COLLATE latin1_general_ci DEFAULT NULL, 
`adminpassword` VARCHAR (50) COLLATE latin1_general_ci DEFAULT NULL , 
PRIMARY KEY (`id`) 
)ENGINE = MyISAM DEFAULT CHARSET = latin1 COLLATE = latin1_general_ci AUTO_INCREMENT = 3; 

你可以用这种方式同样,将SQL_MODE = ANSI_QUOTES;

http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_ansi_quotes

ANSI_QUOTES 

Treat “"” as an identifier quote character (like the “`” quote character) and not as a 
string quote character. You can still use “`” to quote identifiers with this mode 
enabled. With ANSI_QUOTES enabled, you cannot use double quotation marks to quote 
literal strings, because it is interpreted as an identifier. 
1

变化““”到‘`’和单词‘intiger’到‘整数’,它应该工作呢。