我只是試圖創建一個基於file.sql我對這個生成一個新的數據庫:的Mysql#1064 - 對一個varchar字段語法錯誤
http://ondras.zarovi.cz/sql/demo/?keyword=default
所以我就點擊保存,比生成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,文本,int和日期我有,現在我得到這個問題:
#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?
的錯誤是在MySQL的報告問題的確切點,之後'\'Cl_name \'VARCHAR'。你從不設置列大小! –
默認爲'NULL'字符串而不是NULL ...但是爲什麼默認爲null,默認情況下NULL是默認的。在整數字段上默認爲字符串'0'似乎也是錯誤的。 :P – xQbert
我這樣做是因爲我雖然有義務在完成數據庫後提供這些信息,但現在它是空的。找到正確的做事方式非常困難,很多信息x) –