/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
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
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste