Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 1064-靠近'的语法错误;数字不为空默认值';0.0';,_Mysql_Sql - Fatal编程技术网

Mysql 1064-靠近'的语法错误;数字不为空默认值';0.0';,

Mysql 1064-靠近'的语法错误;数字不为空默认值';0.0';,,mysql,sql,Mysql,Sql,我无法使用下面的SQL指令创建表 我试图修改一些de fault值,但我有相同的错误 DROP TABLE IF EXISTS CountryLanguage; CREATE TABLE CountryLanguage ( CountryCode TEXT NOT NULL DEFAULT '', Lang TEXT NOT NULL DEFAULT '', IsOfficial INTEGER NOT NULL DEFAULT '0', Percentage NUMBER NO

我无法使用下面的SQL指令创建表

我试图修改一些de fault值,但我有相同的错误

DROP TABLE IF EXISTS CountryLanguage;
CREATE TABLE CountryLanguage (
  CountryCode TEXT NOT NULL DEFAULT '',
  Lang TEXT NOT NULL DEFAULT '',
  IsOfficial INTEGER NOT NULL DEFAULT '0',
  Percentage NUMBER NOT NULL default '0.0',
  PRIMARY KEY  (CountryCode,Lang)
);
表未创建,我收到以下消息:

Static analysis:

1 errors found during the scan.

Data type not recognized. (near "NUMBER" in position 164)

SQL request: CREATE TABLE CountryLanguage ( CountryCode TEXT NOT NULL DEFAULT '', Lang TEXT NOT NULL DEFAULT '', IsOfficial INTEGER NOT NULL DEFAULT '0', Percentage NUMBER NOT NULL default '0.0', PRIMARY KEY (CountryCode,Lang) )

MySQL replied: Documentation
# 1064 - Syntax error near 'NUMBER NOT NULL default' 0.0 ',
   PRIMARY KEY (CountryCode, Lang)
) 'at line 5
试试这个:

DROP TABLE IF EXISTS CountryLanguage;
CREATE TABLE CountryLanguage (
  CountryCode TEXT NOT NULL DEFAULT '',
  Lang TEXT NOT NULL DEFAULT '',
  IsOfficial INTEGER NOT NULL DEFAULT 0,
  Percentage FLOAT NOT NULL default 0.0,
  PRIMARY KEY  (CountryCode,Lang)
);

另外,注意常量数据-数字周围没有撇号(用于字符串)

您的问题已经包含了您要寻找的答案:数据类型无法识别。(在164位的“NUMBER”附近),数据类型“NUMBER”不存在:MySQL中没有NUMBER数据类型这段代码只是一厢情愿。请咨询以解开任何谜团。我用你的代码试过了,没问题。但我现在有以下错误:#1170-索引定义中使用的BLOB类型“CountryCode”列没有索引长度您真的需要65 KB来存储CountryCode(像..
.de
.fr
)和Lang(像
en-US
de
?)。将
文本
替换为
VARCHAR(xx)
,其中
xx
是一个适当的最小大小的数字,用于存储数据(如
en-US
的VARCHAR(5)或
de
的VARCHAR(2),
fr
),这样就可以了。我为CountryCode做了VARCHAR(3),但Idefine怎么也能做好lang列呢?**1170-在索引定义中使用的BLOB类型“Lang”列没有索引长度**Er。。就像你做countrycode一样
Lang TEXT NOT NULL DEFAULT',
->
Lang VARCHAR(5)NOT NULL DEFAULT',
几乎总是比
FLOAT
更可取。