---
title: "Fel med sql"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/101788-fel-med-sql"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "dahlgren"
published: "2004-04-18T19:43:15.000Z"
updated: "2004-04-18T20:00:05.000Z"
replies: 7
views: 185
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/databaser-sql/101788-fel-med-sql"
---

# Fel med sql

## #1 — dahlgren, 2004-04-18T19:43Z

```
Uppdatera = "UPDATE login SET adress = '" & Request.Form("adress") & "', telhem = '"& Request.Form("telhem") & _
  "', mobil = '" & Request.Form("mobil") & "', email = '" & Request.Form("email") & _
  "', icq = " & Request.Form("icq") & ", msn = '" & Request.Form("msn") & _
  "' WHERE ID = " & Request.Form("dold")
```

Koden ovan har fungerat tidigare men just nu ger den fel om jag försöker uppdatera med tomma värden trots att det är tillåtet med  null i databasen. 
Om jag skriver ut sql-satsen så ger det:
UPDATE login SET adress = '', telhem = '', mobil = '', email = '', icq = , msn = '' WHERE ID = 17  som i mina ögon ser korekt ut men om jag försöker köra den får jag följande medelande. Någon som vet vad som är fel?

> \[MySQL\]\[ODBC 3.51 Driver\]\[mysqld-4.0.18-nt-log\]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' msn = '' WHERE ID = 17' at line 1

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

## #2 — Peeer, 2004-04-18T19:45Z

icq-fältet felar lite skulle jag tro. Kör en replace på request.form("icq") så att det blir null om värdet saknas från formuläret.

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

## #3 — tydal, 2004-04-18T19:46Z

Du har inte apostrofer runt icq.

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

## #4 — dahlgren, 2004-04-18T19:47Z

Borde vara utan appostrofer då det är av typen int.

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

## #5 — Peeer, 2004-04-18T19:53Z

Då måste du köra med null som sagt;
icq = null

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

## #6 — LeonL, 2004-04-18T19:53Z

Det får inte vara helt tomt som:

> **Kod som inte funkar skrev:**
>
> icq = , msn = ''

Du måste köra en If-sats, som Peeer säger, och kolla om fältet är tomt. Om fältet är tomt ska det stå NULL som parameter.

> **Kod som funkar skrev:**
>
> icq = NULL, msn = ''

r\\ Peeer han före. Borde kanske inte ha lagt mig i. ;)

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

## #7 — dahlgren, 2004-04-18T19:56Z

Precis som tydal skrev skanades apostrofer. Jag också fel det var ingen int.

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

## #8 — tydal, 2004-04-18T20:00Z

I Mysql kan man ha apostrofer runt int. Det är bra att ha det utifall man skulle glömma att kontrollera så variabeln enbart innehåller siffror.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/101788-fel-med-sql
