/
Forside
/
Teknologi
/
Udvikling
/
SQL
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
SQL
#
Navn
Point
1
pmbruun
1704
2
niller
962
3
fehaar
730
4
Interkril..
701
5
ellebye
510
6
pawel
510
7
rpje
405
8
pete
350
9
gibson
320
10
smorch
260
Ændring af felt type?
Fra :
Sven Arne Steffensen
Dato :
18-05-03 20:04
Hvordan får man ændret et felt der oprindeligt er blevet sat til et
tekstfelt som faktisk burde have været et idecimal felt?
Hvis jeg bruger phpMyAdmin til at ændre felttypen til decimal med 5 cifre og
0 decimaler giver den mig hver gang en error 140
Der ER allerede data i MySQL-databasen. Problemet er når jeg bruger SQL til
at trække data ud bliver 100 sat før f.eks. 11. Det regner jeg med er fordi
den tager tallene som tekst.
ALTER TABEL 'Hold' CHANGE 'Hold' 'Hold' DECIMAL(5,0) DEFAULT '1' NOT NULL
MySQL returnerede:
Can't create table './Database/#sql-aa8_59b935.frm' (errno: 140)
Kan man ikke ændre en database med indhold i?
Med venlig hilsen
Sven Arne
Peter Brodersen (
19-05-2003
)
Kommentar
Fra :
Peter Brodersen
Dato :
19-05-03 01:04
On Sun, 18 May 2003 21:03:35 +0200, "Sven Arne Steffensen"
<sasteffensen@tdcadsl.dk> wrote:
>ALTER TABEL 'Hold' CHANGE 'Hold' 'Hold' DECIMAL(5,0) DEFAULT '1' NOT NULL
>MySQL returnerede:
>
>Can't create table './Database/#sql-aa8_59b935.frm' (errno: 140)
$ perror 140
Error code 140: Unknown error 140
140 = Wrong create options
>Kan man ikke ændre en database med indhold i?
Jo. Følgende fungerer fint for mig:
mysql> CREATE TABLE foo (Hold text);
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO foo (Hold) VALUES ('120');
Query OK, 1 row affected (0.00 sec)
mysql> SELECT Hold FROM foo WHERE Hold > '20';
Empty set (0.00 sec)
mysql> ALTER TABLE foo CHANGE Hold Hold DECIMAL(5,0) DEFAULT '1' NOT
NULL;
Query OK, 1 row affected (0.01 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> SELECT Hold FROM foo WHERE Hold > '20';
+------+
| Hold |
+------+
| 120 |
+------+
1 row in set (0.00 sec)
--
- Peter Brodersen
Søg
Alle emner
Teknologi
Udvikling
SQL
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177558
Tips :
31968
Nyheder :
719565
Indlæg :
6408925
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.