Mika3lMedlem sedan nov. 20018 492 inlägg Har stött på ett problem när jag via MySQL-Front försöker skapa en tabell i en databas.
Felmeddelande och lite info
f_sex är av typen tinytext, längd 6, not null.
f_password är av typen varchar, längd 15, not null.
Förresten, när jag ändå håller på att fråga, finns det någon fälttyp som klarar av ca 500 tecken?
Mycket tacksam för svar!
RED: Såg att jag var så klantig så jag hade gjort jämt bara lite fel med bilden, jag borde inte sitta uppe nu, för trött. :p
PalleMedlem sedan apr. 20003 174 inlägg Hur ser hela sql-satsen ut som du försöker skapa?
Den kom inte med helt i bilden du bifogade.. :)
Gällande fälttyp som klarar ca 500 tecken:
Text klarar jubbet.
Manualen skrev:
In most respects, you can regard a TEXT column as a VARCHAR column that can be as big as you like.
Mika3lMedlem sedan nov. 20018 492 inlägg Ja just det, text finns ju (får skylla på min trötthet igen ;) )! :)
Är inte så lite svårt att få fram SQL-satsen, den jäkla rutan går inte att få bort utan att välja det jobbiga alternativet Cancel och då försvinner ju allt och jag måste skriva om det igen. :l
Mika3lMedlem sedan nov. 20018 492 inlägg Så här ser det ut.
CREATE TABLE `tbl_AdminMembers` (`f_AMID` TINYINT (3) NOT NULL AUTO_INCREMENT, `f_firstname` VARCHAR (40) NOT NULL, `f_lastname` VARCHAR (40) NOT NULL, `f_birthYear` TINYINT (4) NOT NULL, `f_birthMonth` TINYINT (2) NOT NULL, `f_birthDay` TINYINT (2) NOT NULL, `f_sex` TINYTEXT (6) NOT NULL AUTO_INCREMENT, `f_worktitle` VARCHAR (20), `f_password` VARCHAR (15) NOT NULL AUTO_INCREMENT, `f_type` TINYINT (1) NOT NULL, `f_associationID` TINYINT (4) NOT NULL, `f_regdate` DATETIME (3), `f_regdateYear` TINYINT (4) NOT NULL, `f_regdateMonth` TINYINT (2) NOT NULL, `f_regdateDay` TINYINT (2) NOT NULL, `f_latestlogin` DATETIME (20), `f_adressType` VARCHAR (13) NOT NULL, `f_email` VARCHAR (25) NOT NULL, `f_phone` TINYINT (12) NOT NULL, `f_company` VARCHAR (40), `f_postcode` TINYINT (4) NOT NULL, `f_functions` TINYINT (3) UNSIGNED, `f_sections` VARCHAR (255), `f_education` VARCHAR (255), `f_distinctions` VARCHAR (255), `f_interests` VARCHAR (255), `f_note` VARCHAR (255), PRIMARY KEY(`f_AMID`), UNIQUE(
Error: 1064 - You have an error in your SQL syntax near '(6) NOT NULL AUTO_INCREMENT, `f_worktitle` VARCHAR (20), `f_password` VARCHAR (1' at line 1
PalleMedlem sedan apr. 20003 174 inlägg
.. TINYTEXT (6) NOT NULL AUTO_INCREMENT ..
Du kan inte sätta AUTO_INCREMENT på en string-type kolumn..
Ändra det så borde det lira bättre. :)
PaceMedlem sedan juni 20019 024 inlägg Det är en liten bugg i MySql-Front att vissa egenskaper kan associeras till datatyper som inte stöder dem. Annars är det ett ypperligt verktyg.
Dessutom, i din sql-fråga, datetime kan inte specifieras med längd.
DATETIME [s](3)[/s]
LarsGMedlem sedan dec. 200012 464 inlägg Det är inte tillåtet att ange längd för text/tinytext. För int/tinyint är det inte relevant.
Yasmdf
Mika3lMedlem sedan nov. 20018 492 inlägg Hmmm, märks att jag var trött, auto_increment på ett textfält... :e
Jaja, jag har försökt att få det att fungera men det vill sig inte riktigt nu heller. :l
You have an error in your SQL syntax near ') NOT NULL AUTO_INCREMENT, `f_firstname` VARCHAR () NOT NULL, `f_lastname` VARCH' at line 1
CREATE TABLE `tbl_AdminMembers` (`f_AMID` TINYINT () NOT NULL AUTO_INCREMENT, `f_firstname` VARCHAR () NOT NULL, `f_lastname` VARCHAR () NOT NULL, `f_birthYear` TINYINT () NOT NULL, `f_birthMonth` TINYINT () NOT NULL, `f_birthDay` TINYINT () NOT NULL, `f_sex` TINYTEXT () NOT NULL, `f_worktitle` VARCHAR (), `f_password` VARCHAR () NOT NULL, `f_type` TINYINT () NOT NULL, `f_associationID` TINYINT () NOT NULL, `f_regdateYear` TINYINT () NOT NULL, `f_regdateMonth` TINYINT () NOT NULL, `f_regdateDay` TINYINT () NOT NULL, `f_latestlogin` DATETIME (), `f_adressType` VARCHAR () NOT NULL, `f_email` VARCHAR () NOT NULL, `f_phone` TINYINT () NOT NULL, `f_company` VARCHAR (), `f_postcode` TINYINT () NOT NULL, `f_functions` TINYINT () UNSIGNED, `f_sections` VARCHAR (), `f_education` VARCHAR (), `f_distinctions` VARCHAR (), `f_interests` VARCHAR (), `f_note` VARCHAR (), PRIMARY KEY(`f_AMID`), UNIQUE(
LarsGMedlem sedan dec. 200012 464 inlägg Ta bort () för alla utom varchar/char, dessa behöver en längd
Mika3lMedlem sedan nov. 20018 492 inlägg Ville inte riktigt fungera nu heller, har tagit bort alla () korrekt vad jag kan se. :o
CREATE TABLE `tbl_AdminMembers` (`f_AMID` TINYINT NOT NULL AUTO_INCREMENT, `f_firstname` VARCHAR () NOT NULL, `f_lastname` VARCHAR () NOT NULL, `f_birthYear` TINYINT NOT NULL, `f_birthMonth` TINYINT NOT NULL, `f_birthDay` TINYINT NOT NULL, `f_sex` TINYTEXT NOT NULL, `f_worktitle` VARCHAR (), `f_password` VARCHAR () NOT NULL, `f_type` TINYINT NOT NULL, `f_associationID` TINYINT NOT NULL, `f_regdateYear` TINYINT NOT NULL, `f_regdateMonth` TINYINT NOT NULL, `f_regdateDay` TINYINT NOT NULL, `f_latestlogin` DATETIME, `f_adressType` VARCHAR () NOT NULL, `f_email` VARCHAR () NOT NULL, `f_phone` TINYINT NOT NULL, `f_company` VARCHAR (), `f_postcode` TINYINT NOT NULL, `f_functions` TINYINT UNSIGNED, `f_sections` VARCHAR (), `f_education` VARCHAR (), `f_distinctions` VARCHAR (), `f_interests` VARCHAR (), `f_note` VARCHAR (), PRIMARY KEY(`f_AMID`), UNIQUE(
You have an error in your SQL syntax near ') NOT NULL, `f_lastname` VARCHAR () NOT NULL, `f_birthYear` TINYINT NOT NULL, `f' at line 1
LarsGMedlem sedan dec. 200012 464 inlägg Du måste ange en maxlängd för alla kolumner av typen varchar
`f_firstname` VARCHAR (245) NOT NULL
eller vilket värde du nu vill ha. Etc.
Mika3lMedlem sedan nov. 20018 492 inlägg Fungerar inte nu heller av någon konstig anledning, får ett skumt felmeddelande också. :o
You have an error in your SQL syntax near '' at line 1
CREATE TABLE `tbl_AdminMembers` (`f_AMID` TINYINT NOT NULL AUTO_INCREMENT, `f_firstname` VARCHAR (40) NOT NULL, `f_lastname` VARCHAR (40) NOT NULL, `f_birthYear` TINYINT NOT NULL, `f_birthMonth` TINYINT NOT NULL, `f_birthDay` TINYINT NOT NULL, `f_sex` TINYTEXT NOT NULL, `f_worktitle` VARCHAR (20), `f_password` VARCHAR (15) NOT NULL, `f_type` TINYINT NOT NULL, `f_associationID` TINYINT NOT NULL, `f_regdateYear` TINYINT NOT NULL, `f_regdateMonth` TINYINT NOT NULL, `f_regdateDay` TINYINT NOT NULL, `f_latestlogin` DATETIME, `f_adressType` VARCHAR (13) NOT NULL, `f_email` VARCHAR (25) NOT NULL, `f_phone` TINYINT NOT NULL, `f_company` VARCHAR (40), `f_postcode` TINYINT NOT NULL, `f_functions` TINYINT, `f_sections` VARCHAR (255), `f_education` VARCHAR (255), `f_distinctions` VARCHAR (255), `f_interests` VARCHAR (255), `f_note` VARCHAR (255), PRIMARY KEY(`f_AMID`), UNIQUE(
QimenMedlem sedan juni 20015 009 inlägg Mika3l: Lite off-topic men jag rekommenderar mascon för att skapa tabeller, ett helt perfekt program tycker jag. Bra överblick och jag har aldrig haft några problem där. Visst man tycker mysqlfront ska räcka (jag använder det med) men jag (säkert många andra med) får ofta problem med att skapa tabeller där.
Mika3lMedlem sedan nov. 20018 492 inlägg Off topic eller ej, har du någon länk? ;)
LarsGMedlem sedan dec. 200012 464 inlägg Det är inte lämpligt att använda tinyint för primärnyckel, du kan bara lagra 127 poster i så fall.
CREATE TABLE `tbl_AdminMembers` (`f_AMID` INT NOT NULL AUTO_INCREMENT,
`f_firstname` VARCHAR (40) NOT NULL,
`f_lastname` VARCHAR (40) NOT NULL,
`f_birthYear` TINYINT NOT NULL,
`f_birthMonth` TINYINT NOT NULL,
`f_birthDay` TINYINT NOT NULL,
`f_sex` TINYTEXT NOT NULL,
`f_worktitle` VARCHAR (20),
`f_password` VARCHAR (15) NOT NULL,
`f_type` TINYINT NOT NULL,
`f_associationID` TINYINT NOT NULL,
`f_regdateYear` TINYINT NOT NULL,
`f_regdateMonth` TINYINT NOT NULL,
`f_regdateDay` TINYINT NOT NULL,
`f_latestlogin` DATETIME,
`f_adressType` VARCHAR (13) NOT NULL,
`f_email` VARCHAR (25) NOT NULL,
`f_phone` TINYINT NOT NULL,
`f_company` VARCHAR (40),
`f_postcode` TINYINT NOT NULL,
`f_functions` TINYINT,
`f_sections` VARCHAR (255),
`f_education` VARCHAR (255),
`f_distinctions` VARCHAR (255),
`f_interests` VARCHAR (255),
`f_note` VARCHAR (255),
PRIMARY KEY(`f_AMID`))
Det var lite avklippt i slutet . Om du vill ha något som unique så kan du lägga till det i efterhand.
Mika3lMedlem sedan nov. 20018 492 inlägg Tack LarsG! :D
Hur fixar jag så att det blir unikt (gick inte att välja det och jag har inte precis någon vana att "koda databaser" ;) )?
Testade med ALTER TABLE `tbl_adminmembers` CHANGE `f_AMID` `f_AMID` INT(11) NOT NULL AUTO_INCREMENT UNIQUE.
Fick inget felmeddelande men jag kan inte se om det gick eller ej (antar att det gick men det är lika bra att vara säker, hinner inte testa nu heller ;) ).