---
title: "Fel i SQL-sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/110323-fel-i-sql-sats"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "magnusfernstrom"
published: "2004-08-29T16:17:36.000Z"
updated: "2004-08-29T17:54:31.000Z"
replies: 12
views: 485
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/110323-fel-i-sql-sats"
---

# Fel i SQL-sats

## #1 — magnusfernstrom, 2004-08-29T16:17Z

Nu är jag arg!

:@ \<--- Argaste gubben i MSN

Jag har den enklaste jäkla sidan man kan tänka sig, nämligen en som skall lagra data i en databas. Men det vill inte fungera. :(

```
<%

   rubrik      = Request.Form("txt_rubrik") 
   text        = Request.Form("txt_text")
   Set Conn = Server.CreateObject("ADODB.Connection")
   Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("db.mdb")
   SQL = "INSERT INTO texter (rubrik,text) VALUES ('" & rubrik & "', '" & text & "')"
   Set rs = Conn.Execute(SQL)

   Response.Redirect "in.asp"

   rs.Close
   Set rs = nothing
   
   Conn.Close
   Set Conn = nothing
%>
```

Jag får detta:

```
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. 

/mm/new_text.asp, line 8
```

Jag pallar inte med detta. Jag har nog prövat med ALLT som går! Det vill inte fungera.

:(

Vad är fel?

Permalänk: https://www.webforum.nu/p/110323

## #2 — @nders, 2004-08-29T16:20Z

Du får inte ha fält som heter *text*, det är ett reserverat ord (datatyp). Byt namn på fältet.

Permalänk: https://www.webforum.nu/p/1423855

## #3 — LeonL, 2004-08-29T16:21Z

Ordet "text" är ett reserverat ord. Testa med: 

```
SQL = "INSERT INTO texter (rubrik,[text]) VALUES ('" & rubrik & "', '" & text & "')"
```

Undvik i framtiden att använda reserverade ord, och använd prefix före fält- och tabellnamn. :)

r\\ Jaha, här var @nders snabb, men han svarade aldrig i min tråd. :bla ;)

Permalänk: https://www.webforum.nu/p/1423856

## #4 — magnusfernstrom, 2004-08-29T16:25Z

Doh! Jag testade ju att byta namn på variabeln som lagrar det man skrev i textrutan istället, i hopp om att det där med reserverade ord inte skulle krångla, men men, dum som jag är. :e

 :f LeonL & @nders 

Tack! :)

\*Skäms över ett så simpelt fel\* :e

Permalänk: https://www.webforum.nu/p/1423859

## #5 — Peeer, 2004-08-29T16:35Z

> The following keywords are allowed by MySQL as column/table names. This is because they are very natural names and a lot of people have already used them.
> 
>     \* ACTION
>     \* BIT
>     \* DATE
>     \* ENUM
>     \* NO
>     \* **TEXT**
>     \* TIME
>     \* TIMESTAMP

[Källa](http://dev.mysql.com/doc/mysql/en/Reserved_words.html)

 :o

Permalänk: https://www.webforum.nu/p/1423862

## #6 — LeonL, 2004-08-29T16:37Z

I MySQL är väl motsvarigheten till Access "text" "varchar"?

Permalänk: https://www.webforum.nu/p/1423863

## #7 — Peeer, 2004-08-29T16:42Z

> **LeonL skrev:**
>
> I MySQL är väl motsvarigheten till Access "text" "varchar"?

Både varchar och text finns i mysql. Hurså?

Permalänk: https://www.webforum.nu/p/1423865

## #8 — LeonL, 2004-08-29T16:44Z

> **Peeer skrev:**
>
> > **LeonL skrev:**
> >
> > I MySQL är väl motsvarigheten till Access "text" "varchar"?
>
> Både varchar och text finns i mysql. Hurså?

Ah, ok. :)

Permalänk: https://www.webforum.nu/p/1423866

## #9 — magnusfernstrom, 2004-08-29T16:46Z

Tack Peeer. :)

Permalänk: https://www.webforum.nu/p/1423867

## #10 — Peeer, 2004-08-29T16:50Z

> **magnusfernstrom skrev:**
>
> Tack Peeer. :)

Men.. det fungerade om du klamrade "text" men inte om du inte klamrade det? Varför står det då att "text" ska vara ett godkänt kolumnnamn? Tycker det är lite udda.

Permalänk: https://www.webforum.nu/p/1423868

## #11 — Sebbe, 2004-08-29T16:57Z

> **Peeer skrev:**
>
> > **magnusfernstrom skrev:**
> >
> > Tack Peeer. :)
>
> Men.. det fungerade om du klamrade "text" men inte om du inte klamrade det? Varför står det då att "text" ska vara ett godkänt kolumnnamn? Tycker det är lite udda.

För att han använder Access, inte MySQL. ;)

Permalänk: https://www.webforum.nu/p/1423873

## #12 — Peeer, 2004-08-29T16:59Z

> **Sebbe skrev:**
>
> > **Peeer skrev:**
> >
> > > **magnusfernstrom skrev:**
> > >
> > > Tack Peeer. :)
> >
> > Men.. det fungerade om du klamrade "text" men inte om du inte klamrade det? Varför står det då att "text" ska vara ett godkänt kolumnnamn? Tycker det är lite udda.
>
> För att han använder Access, inte MySQL. ;)

haha, "oj". Tyckte bestämt att det stog mysql driver. Glöm alla mina inlägg i den här tråden. :r :OO  :e

Permalänk: https://www.webforum.nu/p/1423874

## #13 — @nders, 2004-08-29T17:54Z

> **Peeer skrev:**
>
> > **LeonL skrev:**
> >
> > I MySQL är väl motsvarigheten till Access "text" "varchar"?
>
> Både varchar och text finns i mysql. Hurså?

För att ytterligare förklara en aning:

Ja, MySQL-motsvarigheten till Access-datatypen text är varchar (dock rymligare än text i Access). Datatypen text finns också i MySQL, och är väl en ungefärlig motsvarighet till PM/Memo i Access.

Läs mer om de olika strängtyperna i MySQL [här](http://dev.mysql.com/doc/mysql/en/String_type_overview.html).

mvh

Permalänk: https://www.webforum.nu/p/1423895

---

Tråden på webben: https://www.webforum.nu/amne/asp/110323-fel-i-sql-sats
