Avatar billede bolmer Nybegynder
19. maj 2005 - 20:29 Der er 8 kommentarer og
1 løsning

Grænse for størrelsen på en SQL kommando?

Er der en grænse for hvor lang en SQL kommando må være?

Jeg har prøvet at indsætte følgende i en tabel:

INSERT INTO CUSTOMER (forename, surname, company_name, title, addressA,
addressB, postal_number, city, country, home_phone, mobile_phone,
work_phone, fax, email, sale_procentage, bank, account_number,
creation_initials, creation_date, creation_reason) values ("test", "test",
"test", etc...);


Men jeg kan kun skrive:

INSERT INTO CUSTOMER (forename, surname, company_name, title, addressA,
addressB, postal_number, city, country, home_phone, mobile_phone,
work_phone, fax, email, sale_procentage, bank, account_number,
creation_initials, creation_date, creation_reason) va


Hvordan indsætter noget i en tabel der har så mange attributter?
Avatar billede skau Nybegynder
19. maj 2005 - 21:03 #1
Er der ikke noget med at du bare deler linien op (dvs skriver et par linier trykker enter skriver et par linier igen indtil du har skrevet det hele)- det er først når de skriver ; at den udføres <- mysql sætter så selv linierne sammen
(sådan virker oracle ihvert fald
Avatar billede arne_v Ekspert
19. maj 2005 - 21:03 #2
MySQL sætninger kan være meget længere end det.

Det må være en restriktion i det program / database API du bruger.

Så forklar lidt mere om hvordan du forsøger at køre den INSERT
Avatar billede bolmer Nybegynder
19. maj 2005 - 21:24 #3
Jeg har installeret MySQL 4.1 til winXP. Så har jeg lavet en Database "auction" som indeholder en tabel "customer". Denne tabel har attributterne som jeg angiver i den første parentes i følgende insert sætning:

INSERT INTO CUSTOMER (forename, surname, company_name, title, addressA,
addressB, postal_number, city, country, home_phone, mobile_phone,
work_phone, fax, email, sale_procentage, bank, account_number,
creation_initials, creation_date, creation_reason) va

Når jeg så kommer til "va" så kan jeg ikke skrive mere. Jeg har så prøvet at trykke Enter og skrive resten det ser sådan her ud:
    ->    ->lues ("test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test", "test","test");

Når jeg trykker enter får jeg fejlen:

ERROR 1064 (42000) bla, bla, bla....
Avatar billede arne_v Ekspert
19. maj 2005 - 21:28 #4
PHPMyAdmin ?
mysql command line utility ?
????
Avatar billede arne_v Ekspert
19. maj 2005 - 21:28 #5
det er vigtigt at du trykker enter på et legalt sted
Avatar billede arne_v Ekspert
19. maj 2005 - 21:29 #6
legalt sted = et sted hvor et mellemrum ikke vil gøre nogen forskel
Avatar billede bolmer Nybegynder
19. maj 2005 - 21:30 #7
Jeg ved ikke hvad PHPMyAdmin eller mtsql command line utility er.

Er det et illegalt sted jeg har trykket enter?
Avatar billede arne_v Ekspert
19. maj 2005 - 21:36 #8
hvor skriver du den SQL kommando ?

va<enter>lues er ikke et legalt sted at dele - <enter>values  er bedre
Avatar billede bolmer Nybegynder
07. juli 2005 - 11:43 #9
Har lagt det i en .sql fil i stedet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester