【问题标题】:SQL error in PHPMYADMINPHPMYADMIN 中的 SQL 错误
【发布时间】:2015-04-14 02:52:28
【问题描述】:

SQL 查询:

CREATE TABLE `users` (
  `uid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(120) NOT NULL DEFAULT ,
  `password` varchar(120) NOT NULL DEFAULT ,
  `salt` varchar(10) NOT NULL DEFAULT ,
  `loginkey` varchar(50) NOT NULL DEFAULT ,
  `email` varchar(220) NOT NULL DEFAULT ,
  `postnum` int(10) NOT NULL DEFAULT ,
  `awards` int(10) NOT NULL DEFAULT ,
  `avatar` varchar(200) NOT NULL DEFAULT ,
  `avatardimensions` varchar(10) NOT NULL DEFAULT ,
  `avatartype` varchar(10) NOT NULL DEFAULT ,
  `usergroup` smallint(5) unsigned NOT NULL DEFAULT ,
  `additionalgroups` varchar(200) NOT NULL DEFAULT ,
  `displaygroup` smallint(5) unsigned NOT NULL DEFAULT ,
  `usertitle` varchar(250) NOT NULL DEFAULT ,
  `regdate` bigint(30) NOT NULL DEFAULT ,
  `lastactive` bigint(30) NOT NULL DEFAULT ,
  `lastvisit` bigint(30) NOT NULL DEFAULT ,
  `lastpost` bigint(30) NOT NULL DEFAULT ,
  `website` varchar(200) NOT NULL DEFAULT ,
  `icq` varchar(10) NOT NULL DEFAULT ,
  `aim` varchar(50) NOT NU[...]

MySQL 说:文档

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 ' 附近使用的正确语法 password varchar(120) NOT NULL DEFAULT , salt varchar(10) NOT NULL DEFA' 在第 3 行

基本上每次我将这个 sql 文件导入我的数据库时,我都会遇到这个错误。是什么导致了这个错误?

CREATE TABLE `users` (
`uid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(120) NOT NULL DEFAULT ,
`password` varchar(120) NOT NULL DEFAULT ,
`salt` varchar(10) NOT NULL DEFAULT ,
`loginkey` varchar(50) NOT NULL DEFAULT ,
`email` varchar(220) NOT NULL DEFAULT ,
`postnum` int(10) NOT NULL DEFAULT ,
`awards` int(10) NOT NULL DEFAULT ,
`avatar` varchar(200) NOT NULL DEFAULT ,
`avatardimensions` varchar(10) NOT NULL DEFAULT ,
`avatartype` varchar(10) NOT NULL DEFAULT ,
`usergroup` smallint(5) unsigned NOT NULL DEFAULT ,
`additionalgroups` varchar(200) NOT NULL DEFAULT ,
`displaygroup` smallint(5) unsigned NOT NULL DEFAULT ,
`usertitle` varchar(250) NOT NULL DEFAULT ,
`regdate` bigint(30) NOT NULL DEFAULT ,
`lastactive` bigint(30) NOT NULL DEFAULT ,
`lastvisit` bigint(30) NOT NULL DEFAULT ,
`lastpost` bigint(30) NOT NULL DEFAULT ,
`website` varchar(200) NOT NULL DEFAULT ,
`icq` varchar(10) NOT NULL DEFAULT ,
`aim` varchar(50) NOT NULL DEFAULT ,
`yahoo` varchar(50) NOT NULL DEFAULT ,
`msn` varchar(75) NOT NULL DEFAULT ,
`birthday` varchar(15) NOT NULL DEFAULT ,
`birthdayprivacy` varchar(4) NOT NULL DEFAULT 'all',
`signature` text NOT NULL,
`allownotices` int(1) NOT NULL DEFAULT ,
`hideemail` int(1) NOT NULL DEFAULT ,
`subscriptionmethod` int(1) NOT NULL DEFAULT ,
`invisible` int(1) NOT NULL DEFAULT ,
`receivepms` int(1) NOT NULL DEFAULT ,
`receivefrombuddy` int(1) NOT NULL DEFAULT ,
`pmnotice` int(1) NOT NULL DEFAULT ,
`pmnotify` int(1) NOT NULL DEFAULT ,
`threadmode` varchar(8) NOT NULL DEFAULT ,
`showsigs` int(1) NOT NULL DEFAULT ,
`showavatars` int(1) NOT NULL DEFAULT ,
`showquickreply` int(1) NOT NULL DEFAULT ,
`showredirect` int(1) NOT NULL DEFAULT ,
`ppp` smallint(6) NOT NULL DEFAULT ,
`tpp` smallint(6) NOT NULL DEFAULT ,
`daysprune` smallint(6) NOT NULL DEFAULT ,
`dateformat` varchar(4) NOT NULL DEFAULT ,
`timeformat` varchar(4) NOT NULL DEFAULT ,
`timezone` varchar(4) NOT NULL DEFAULT ,
`dst` int(1) NOT NULL DEFAULT ,
`dstcorrection` int(1) NOT NULL DEFAULT ,
`buddylist` text NOT NULL,
`ignorelist` text NOT NULL,
`style` smallint(5) unsigned NOT NULL DEFAULT ,
`away` int(1) NOT NULL DEFAULT ,
`awaydate` int(10) unsigned NOT NULL DEFAULT ,
`returndate` varchar(15) NOT NULL DEFAULT ,
`awayreason` varchar(200) NOT NULL DEFAULT ,
`pmfolders` text NOT NULL,
`notepad` text NOT NULL,
`referrer` int(10) unsigned NOT NULL DEFAULT ,
`referrals` int(10) unsigned NOT NULL DEFAULT ,
`reputation` bigint(30) NOT NULL DEFAULT ,
`regip` varchar(50) NOT NULL DEFAULT ,
`lastip` varchar(50) NOT NULL DEFAULT ,
`longregip` int(11) NOT NULL DEFAULT ,
`longlastip` int(11) NOT NULL DEFAULT ,
`language` varchar(50) NOT NULL DEFAULT ,
`timeonline` bigint(30) NOT NULL DEFAULT ,
`showcodebuttons` int(1) NOT NULL DEFAULT '1',
`totalpms` int(10) NOT NULL DEFAULT ,
`unreadpms` int(10) NOT NULL DEFAULT ,
`warningpoints` int(3) NOT NULL DEFAULT ,
`moderateposts` int(1) NOT NULL DEFAULT ,
`moderationtime` bigint(30) NOT NULL DEFAULT ,
`suspendposting` int(1) NOT NULL DEFAULT ,
`suspensiontime` bigint(30) NOT NULL DEFAULT ,
`suspendsignature` int(1) NOT NULL DEFAULT ,
`suspendsigtime` bigint(30) NOT NULL DEFAULT ,
`coppauser` int(1) NOT NULL DEFAULT ,
`classicpostbit` int(1) NOT NULL DEFAULT ,
`loginattempts` tinyint(2) NOT NULL DEFAULT '1',
`usernotes` text NOT NULL,
`newpoints` decimal(16,2) NOT NULL DEFAULT '0.00',
`newpoints_items` text NOT NULL,
`passwordconvert` text,
`passwordconverttype` text,
`passwordconvertsalt` text,
PRIMARY KEY (`uid`),
UNIQUE KEY `username` (`username`),
KEY `usergroup` (`usergroup`),
KEY `birthday` (`birthday`),
KEY `longregip` (`longregip`),
KEY `longlastip` (`longlastip`)
ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=114
)

【问题讨论】:

  • 请完整粘贴您的创建表查询
  • 我没有意识到你可以只放 DEFAULT 没有值。那有什么作用?
  • 如果要使用DEFAULT,请使用NOT NULL DEFAULT '',否则直接删除。
  • prntscr.com/6thrq2 我用你说的替换了这个@Fred-ii-
  • 根据您收到的错误的外观,您正在执行INSERT 或尝试执行此操作。你为什么不告诉我们你在哪里使用'1', 'Der Anarchist', 'some_hashed_password', 'etc'

标签: php mysql sql phpmyadmin


【解决方案1】:

你可以试试这个

      CREATE TABLE `users` (
      `uid` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `username` varchar(120) NOT NULL DEFAULT ' ' ,
      `password` varchar(120) NOT NULL DEFAULT ' ',
      `salt` varchar(10) NOT NULL DEFAULT ' ',
      `loginkey` varchar(50) NOT NULL DEFAULT ' ',
      `email` varchar(220) NOT NULL DEFAULT ' ',
      `postnum` int(10) NOT NULL DEFAULT 0,
      `awards` int(10) NOT NULL DEFAULT ' ',
      `avatar` varchar(200) NOT NULL DEFAULT ' ',
      `avatardimensions` varchar(10) NOT NULL DEFAULT '1x1'
);

在 DEFAULT 关键字之后设置一些内容或不使用 DEFAULT,因为它们已经有一个标准的默认值。 查看文档:https://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html

【讨论】:

  • 列不为空,默认值为空怎么办?
  • 我只是试图演示 DEFAULT 的正确使用。正如我所说,他必须放置一些值,而不是 NULL。我将编辑我的答案以澄清。
  • 我没有看到你的错误,你只是重新发布你的代码。显然,您的错误在这一行birthdayprivacy` varchar(4) NOT NULL DEFAULT '' 'all'. 仅使用“”或“全部”。您需要为每一列选择一个默认值。
【解决方案2】:

其他人提到的问题是您使用关键字DEFAULT而没有提供默认值。我建议您删除 DEFAULT 的使用或为各个列分配默认值。

我尝试执行以下 SQL 并且它有效。

CREATE TABLE `users` (
  `uid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(120) NOT NULL,
  `password` varchar(120) NOT NULL,
  `salt` varchar(10) NOT NULL,
  `loginkey` varchar(50) NOT NULL,
  `email` varchar(220) NOT NULL,
  `postnum` int(10) NOT NULL,
  `awards` int(10) NOT NULL,
  `avatar` varchar(200) NOT NULL,
  `avatardimensions` varchar(10) NOT NULL,
  `avatartype` varchar(10) NOT NULL,
  `usergroup` smallint(5) unsigned NOT NULL,
  `additionalgroups` varchar(200) NOT NULL,
  `displaygroup` smallint(5) unsigned NOT NULL,
  `usertitle` varchar(250) NOT NULL,
  `regdate` bigint(30) NOT NULL,
  `lastactive` bigint(30) NOT NULL,
  `lastvisit` bigint(30) NOT NULL,
  `lastpost` bigint(30) NOT NULL,
  `website` varchar(200) NOT NULL,
  `icq` varchar(10) NOT NULL,
  `aim` varchar(50) NOT NULL,
  `yahoo` varchar(50) NOT NULL,
  `msn` varchar(75) NOT NULL,
  `birthday` varchar(15) NOT NULL,
  `birthdayprivacy` varchar(4) NOT NULL DEFAULT 'all',
  `signature` text NOT NULL,
  `allownotices` int(1) NOT NULL,
  `hideemail` int(1) NOT NULL,
  `subscriptionmethod` int(1) NOT NULL,
  `invisible` int(1) NOT NULL,
  `receivepms` int(1) NOT NULL,
  `receivefrombuddy` int(1) NOT NULL,
  `pmnotice` int(1) NOT NULL,
  `pmnotify` int(1) NOT NULL,
  `threadmode` varchar(8) NOT NULL,
  `showsigs` int(1) NOT NULL,
  `showavatars` int(1) NOT NULL,
  `showquickreply` int(1) NOT NULL,
  `showredirect` int(1) NOT NULL,
  `ppp` smallint(6) NOT NULL,
  `tpp` smallint(6) NOT NULL,
  `daysprune` smallint(6) NOT NULL,
  `dateformat` varchar(4) NOT NULL,
  `timeformat` varchar(4) NOT NULL,
  `timezone` varchar(4) NOT NULL,
  `dst` int(1) NOT NULL,
  `dstcorrection` int(1) NOT NULL,
  `buddylist` text NOT NULL,
  `ignorelist` text NOT NULL,
  `style` smallint(5) unsigned NOT NULL,
  `away` int(1) NOT NULL,
  `awaydate` int(10) unsigned NOT NULL,
  `returndate` varchar(15) NOT NULL,
  `awayreason` varchar(200) NOT NULL,
  `pmfolders` text NOT NULL,
  `notepad` text NOT NULL,
  `referrer` int(10) unsigned NOT NULL,
  `referrals` int(10) unsigned NOT NULL,
  `reputation` bigint(30) NOT NULL,
  `regip` varchar(50) NOT NULL,
  `lastip` varchar(50) NOT NULL,
  `longregip` int(11) NOT NULL,
  `longlastip` int(11) NOT NULL,
  `language` varchar(50) NOT NULL,
  `timeonline` bigint(30) NOT NULL,
  `showcodebuttons` int(1) NOT NULL DEFAULT '1',
  `totalpms` int(10) NOT NULL,
  `unreadpms` int(10) NOT NULL,
  `warningpoints` int(3) NOT NULL,
  `moderateposts` int(1) NOT NULL,
  `moderationtime` bigint(30) NOT NULL,
  `suspendposting` int(1) NOT NULL,
  `suspensiontime` bigint(30) NOT NULL,
  `suspendsignature` int(1) NOT NULL,
  `suspendsigtime` bigint(30) NOT NULL,
  `coppauser` int(1) NOT NULL,
  `classicpostbit` int(1) NOT NULL,
  `loginattempts` tinyint(2) NOT NULL DEFAULT '1',
  `usernotes` text NOT NULL,
  `newpoints` decimal(16,2) NOT NULL DEFAULT '0.00',
  `newpoints_items` text NOT NULL,
  `passwordconvert` text,
  `passwordconverttype` text,
  `passwordconvertsalt` text,
  PRIMARY KEY (`uid`),
  UNIQUE KEY `username` (`username`),
  KEY `usergroup` (`usergroup`),
  KEY `birthday` (`birthday`),
  KEY `longregip` (`longregip`),
  KEY `longlastip` (`longlastip`)
)
ENGINE=MyISAM CHARSET=utf8 AUTO_INCREMENT=114

SQL Fiddle.

【讨论】:

  • 您是否正在尝试执行INSERT 语句?
  • 我正在尝试导入它,不只是创建
  • 该错误似乎是在尝试将数据插入表中。对照列检查这些值以确定。
【解决方案3】:

我已经对你的默认值做了一些更改,我把 0 作为默认值

 CREATE TABLE `users` (
  `uid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(120) NOT NULL DEFAULT '' ,
  `password` varchar(120) NOT NULL DEFAULT '' ,
  `salt` varchar(10) NOT NULL DEFAULT '' ,
  `loginkey` varchar(50) NOT NULL DEFAULT '' ,
  `email` varchar(220) NOT NULL DEFAULT '' ,
  `postnum` int(10) NOT NULL DEFAULT 0 ,
  `awards` int(10) NOT NULL DEFAULT 0 ,
  `avatar` varchar(200) NOT NULL DEFAULT '' ,
  `avatardimensions` varchar(10) NOT NULL DEFAULT '' ,
  `avatartype` varchar(10) NOT NULL DEFAULT '' ,
  `usergroup` smallint(5) unsigned NOT NULL DEFAULT 0 ,
  `additionalgroups` varchar(200) NOT NULL DEFAULT '' ,
  `displaygroup` smallint(5) unsigned NOT NULL DEFAULT 0 ,
  `usertitle` varchar(250) NOT NULL DEFAULT '' ,
  `regdate` bigint(30) NOT NULL DEFAULT 0 ,
  `lastactive` bigint(30) NOT NULL DEFAULT 0,
  `lastvisit` bigint(30) NOT NULL DEFAULT 0 ,
  `lastpost` bigint(30) NOT NULL DEFAULT 0 ,
  `website` varchar(200) NOT NULL DEFAULT '' ,
  `icq` varchar(10) NOT NULL DEFAULT '' ,
  `aim` varchar(50) NOT NULL DEFAULT '' ,
  `yahoo` varchar(50) NOT NULL DEFAULT '' ,
  `msn` varchar(75) NOT NULL DEFAULT '' ,
  `birthday` varchar(15) NOT NULL DEFAULT '' ,
  `birthdayprivacy` varchar(4) NOT NULL DEFAULT '' 'all',
  `signature` text NOT NULL,
  `allownotices` int(1) NOT NULL DEFAULT 0 ,
  `hideemail` int(1) NOT NULL DEFAULT 0 ,
  `subscriptionmethod` int(1) NOT NULL DEFAULT 0 ,
  `invisible` int(1) NOT NULL DEFAULT 0 ,
  `receivepms` int(1) NOT NULL DEFAULT 0,
  `receivefrombuddy` int(1) NOT NULL DEFAULT 0 ,
  `pmnotice` int(1) NOT NULL DEFAULT 0 ,
  `pmnotify` int(1) NOT NULL DEFAULT 0 ,
  `threadmode` varchar(8) NOT NULL DEFAULT '' ,
  `showsigs` int(1) NOT NULL DEFAULT 0 ,
  `showavatars` int(1) NOT NULL DEFAULT 0,
  `showquickreply` int(1) NOT NULL DEFAULT  0,
  `showredirect` int(1) NOT NULL DEFAULT 0 ,
  `ppp` smallint(6) NOT NULL DEFAULT 0,
  `tpp` smallint(6) NOT NULL DEFAULT  0 ,
  `daysprune` smallint(6) NOT NULL DEFAULT 0 ,
  `dateformat` varchar(4) NOT NULL DEFAULT '' ,
  `timeformat` varchar(4) NOT NULL DEFAULT '' ,
  `timezone` varchar(4) NOT NULL DEFAULT '' ,
  `dst` int(1) NOT NULL DEFAULT 0 ,
  `dstcorrection` int(1) NOT NULL DEFAULT 0 ,
  `buddylist` text NOT NULL,
  `ignorelist` text NOT NULL,
  `style` smallint(5) unsigned NOT NULL DEFAULT 0 ,
  `away` int(1) NOT NULL DEFAULT  0,
  `awaydate` int(10) unsigned NOT NULL DEFAULT 0,
  `returndate` varchar(15) NOT NULL DEFAULT '' ,
  `awayreason` varchar(200) NOT NULL DEFAULT '' ,
  `pmfolders` text NOT NULL,
  `notepad` text NOT NULL,
  `referrer` int(10) unsigned NOT NULL DEFAULT 0 ,
  `referrals` int(10) unsigned NOT NULL DEFAULT 0 ,
  `reputation` bigint(30) NOT NULL DEFAULT 0,
  `regip` varchar(50) NOT NULL DEFAULT '' ,
  `lastip` varchar(50) NOT NULL DEFAULT '' ,
  `longregip` int(11) NOT NULL DEFAULT  0,
  `longlastip` int(11) NOT NULL DEFAULT  0 ,
  `language` varchar(50) NOT NULL DEFAULT '' ,
  `timeonline` bigint(30) NOT NULL DEFAULT  0,
  `showcodebuttons` int(1) NOT NULL DEFAULT '' '1',
  `totalpms` int(10) NOT NULL DEFAULT  0,
  `unreadpms` int(10) NOT NULL DEFAULT  0 ,
  `warningpoints` int(3) NOT NULL DEFAULT 0 ,
  `moderateposts` int(1) NOT NULL DEFAULT  0 ,
  `moderationtime` bigint(30) NOT NULL DEFAULT 0 ,
  `suspendposting` int(1) NOT NULL DEFAULT 0 ,
  `suspensiontime` bigint(30) NOT NULL DEFAULT 0 ,
  `suspendsignature` int(1) NOT NULL DEFAULT 0,
  `suspendsigtime` bigint(30) NOT NULL DEFAULT 0,
  `coppauser` int(1) NOT NULL DEFAULT 0,
  `classicpostbit` int(1) NOT NULL DEFAULT 0,
  `loginattempts` tinyint(2) NOT NULL DEFAULT  '1',
  `usernotes` text NOT NULL,
  `newpoints` decimal(16,2) NOT NULL DEFAULT '0.00',
  `newpoints_items` text NOT NULL,
  `passwordconvert` text,
  `passwordconverttype` text,
  `passwordconvertsalt` text,
  PRIMARY KEY (`uid`),
  UNIQUE KEY `username` (`username`),
  KEY `usergroup` (`usergroup`),
  KEY `birthday` (`birthday`),
  KEY `longregip` (`longregip`),
  KEY `longlastip` (`longlastip`))
  ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=114

【讨论】:

    猜你喜欢
    • 2018-10-06
    • 2016-08-06
    • 2017-02-02
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 2016-02-05
    • 2017-09-28
    • 2020-11-17
    相关资源
    最近更新 更多