简体   繁体   中英

Mysql error #1064 create table

I am trying to upload a sql file to my phpmyadmin.

I've got the following error

#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 '\'\',


 `from_img` varchar(200) NOT NULL default \'nophoto.gif\',
  `from_id` in' at line 3 

here is code where is error:

  CREATE TABLE `privatechat` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `from` varchar(255) character set utf8 NOT NULL default \'\',
  `from_img` varchar(200) NOT NULL default \'nophoto.gif\',
  `from_id` int(11) NOT NULL default \'0\',
  `to` varchar(255) character set utf8 NOT NULL default \'\',
  `to_img` varchar(200) NOT NULL default \'nophoto.gif\',
  `to_id` int(11) NOT NULL default \'0\',
  `message` text character set utf8 NOT NULL,
  `sent` datetime NOT NULL default \'0000-00-00 00:00:00\',
  `recd` int(10) unsigned NOT NULL default \'0\',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

I am not sure whats wrong, it seem's everything is ok.

In this case you dont need "escape characters"

Edit:

An example where you must use escape characters:

SELECT * FROM table WHERE `column` = 'this is \'escaped\''

你错过了结束括号)

  CREATE TABLE `privatechat` ( id int(10) unsigned NOT NULL auto_increment, from varchar(255) character set utf8 NOT NULL default \'\', from_img varchar(200) NOT NULL default \'nophoto.gif\', from_id int(11) NOT NULL default \'0\', to varchar(255) character set utf8 NOT NULL default \'\', to_img varchar(200) NOT NULL default \'nophoto.gif\', to_id int(11) NOT NULL default \'0\', message text character set utf8 NOT NULL, sent datetime NOT NULL default \'0000-00-00 00:00:00\', recd int(10) unsigned NOT NULL default \'0\', PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;)

Dimas answered you. Don't need escape characters for setup default value of field. Proper SQL query:

 CREATE TABLE privatechat (
  id int(10) unsigned NOT NULL auto_increment,
  from varchar(255) character set utf8 NOT NULL default '',
  from_img varchar(200) NOT NULL default 'nophoto.gif',
  from_id int(11) NOT NULL default '0',
  to varchar(255) character set utf8 NOT NULL default '',
  to_img varchar(200) NOT NULL default 'nophoto.gif',
  to_id int(11) NOT NULL default '0',
  message text character set utf8 NOT NULL,
  sent datetime NOT NULL default '0000-00-00 00:00:00',
  recd int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM