我刚刚尝试根据我生成的file.sql创建一个新数据库:
http://ondras.zarovi.cz/sql/demo/?keyword=default
所以我点击了save,而不是生成sql,将它复制到记事本++中,保存的sql然后将其导入我的phpmyadmin新数据库。 (Mysql 5.7)
所以现在我的问题,我得到了1064错误。我在互联网上查了一下,我可以找到所有关于日期(时间戳)的答案,对我来说它看起来像是varchar之一。
以下是错误消息:
#1064 - Erreur de syntaxe près de 'NOT NULL DEFAULT 'NULL',
`Cl_forename` VARCHAR NOT NULL DEFAULT 'NULL',
`C' à la ligne 4
这是我的file.sql的第一部分
CREATE TABLE `Clients` (
`id_client` INTEGER NULL AUTO_INCREMENT DEFAULT NULL,
`Cl_num_member` SMALLINT NOT NULL DEFAULT '0',
`Cl_name` VARCHAR NOT NULL DEFAULT 'NULL',
`Cl_forename` VARCHAR NOT NULL DEFAULT 'NULL',
`Cl_nickname` VARCHAR NOT NULL DEFAULT 'NULL',
`Cl_geolocation` MEDIUMTEXT NULL DEFAULT NULL,
`Cl_date_license_start` DATE NULL DEFAULT NULL,
`Cl_date_license_stop` DATE NULL DEFAULT NULL,
`Cl_special_requirement` MEDIUMTEXT NULL DEFAULT NULL,
这只是第一张桌子的一半。正如您所看到的那样,您可以看到的第一条线就是“''然后没有',我测试了多种可能性,看看是否有一个解决方案,但我不知道哪个是最好的。 (或者哪一个实际上可以工作)
任何帮助将不胜感激..
编辑:
我为所有varchar,text,int和date添加了值,现在我遇到了这个问题:
#1067 - default value invalide for 'Cl_num_member'
这是代码中的一行:
`Cl_num_member` SMALLINT(11) NOT NULL DEFAULT NULL,
我在一个网站上看到,对于int,你需要精确(11)只是为了表示它的数字,但是价值并不重要,是吗?因为它看起来不是。
这里是帖子的链接: What is the size of column of int(11) in mysql in bytes?
答案 0 :(得分:0)
问题是,根据您发布的代码varchar
,Cl_forename VARCHAR NOT NULL DEFAULT
列的大小均未指定。这应该是Cl_forename VARCHAR(100) NOT NULL DEFAULT
`Cl_name` VARCHAR NOT NULL DEFAULT 'NULL',
`Cl_forename` VARCHAR NOT NULL DEFAULT 'NULL',
`Cl_nickname` VARCHAR NOT NULL DEFAULT 'NULL',