【问题标题】:sql: making a table structure for injectionssql:为注入创建表结构
【发布时间】:2011-05-07 23:01:18
【问题描述】:

我想从this site 获取数据库中国家/地区表的值。

问题是他们不提供表结构,所以我必须创建一个,但我无法正确处理 - 当我想将数据注入到我在下面创建的表中时,我的 phpMyAdmin 一直显示错误:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'NUMERIC, alpha3, name, officialName) VALUES ('004','AFG','Afghanistan','Afghan' 附近使用正确的语法

--
-- Table structure for table `countrytable`
--

CREATE TABLE IF NOT EXISTS `countrytable` (
  `NUMERIC` int(11) NOT NULL,
  `alpha3` int(11) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  `officialName` varchar(255) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

我认为我的表结构不正确。我该如何解决?谢谢!

【问题讨论】:

    标签: sql mysql database phpmyadmin


    【解决方案1】:

    NUMERIC是mysql中的保留字
    添加反引号或引用它 -> http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html

    【讨论】:

      【解决方案2】:

      `alpha3` 应该是 varchar(3)(或更大),而不是 int(11)。

      【讨论】:

        【解决方案3】:

        尝试所有 varchar 字段以获取数据,因为所有字段都在您拥有的字符串中的引号中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-05-03
          • 1970-01-01
          • 2015-09-23
          • 2019-05-06
          • 1970-01-01
          • 1970-01-01
          • 2023-03-13
          相关资源
          最近更新 更多