/ 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
Dubletter i MySQL?
Fra : Tonni Aagesen


Dato : 24-10-01 04:22

Hejsa NG,

Hvis man har en tabel med to ikke-unikke cols eks:

----------------------------
| Navn | Efternavn |
----------------------------
| Per | Jensen |
----------------------------
| Hans | Nielsen |
----------------------------

Hvis jeg så forsøger at indsætte "Per Jensen" igen, laves der så en ny
række? Hvis der gør, kan man så undgå dette?

--
Mvh
Tonni Aagesen
agent29@mail1.stofanet.dk



 
 
Tonni Aagesen (24-10-2001)
Kommentar
Fra : Tonni Aagesen


Dato : 24-10-01 04:55

"Tonni Aagesen" <use.my@signature.com> skrev i en meddelelse
news:9r5brr$mg2$1@sunsite.dk...

[Klip - læs indlægget lige før dette]

Jeg har lige fundet ud af, at hvis man angiver en kollonne skal være unik,
kan man jo ikke indsætte den samme værdi i to forskellige rækker, hvilket
giver en mysql_error();

Men kan man angive at kombinationen i de to felter skal være unik for hver
række? eks:

----------------------------
| Navn | Efternavn |
----------------------------
| Per | Jensen | <-- OK
----------------------------
| Hans | Jensen | <-- OK
----------------------------
| Per | Nielsen | <-- OK
----------------------------
| Per | Jensen | <-- IKKE OK
----------------------------


--
Mvh
Tonni Aagesen
agent29@mail1.stofanet.dk






Nis Jorgensen (24-10-2001)
Kommentar
Fra : Nis Jorgensen


Dato : 24-10-01 10:40

On Wed, 24 Oct 2001 05:55:14 +0200, "Tonni Aagesen"
<use.my@signature.com> wrote:

>
>Jeg har lige fundet ud af, at hvis man angiver en kollonne skal være unik,
>kan man jo ikke indsætte den samme værdi i to forskellige rækker, hvilket
>giver en mysql_error();
>
>Men kan man angive at kombinationen i de to felter skal være unik for hver
>række? eks:

Jeg aner ikke om man kan i mySQL. Men i alle fornuftige
SQL-implementationer kan du indsætte "CONSTRAINT XXX UNIQUE
(efternavn, fornavn)" i din tabeldefinition.

--
Nis Jorgensen
Amsterdam

Please include only relevant quotes, and reply below the quoted text. Thanks

Adam Sjøgren (24-10-2001)
Kommentar
Fra : Adam Sjøgren


Dato : 24-10-01 18:21

On Wed, 24 Oct 2001 05:55:14 +0200, Tonni Aagesen wrote:

> Jeg har lige fundet ud af, at hvis man angiver en kollonne skal være
> unik, kan man jo ikke indsætte den samme værdi i to forskellige
> rækker, hvilket giver en mysql_error();

Ja, hvad ellers?

> Men kan man angive at kombinationen i de to felter skal være unik
> for hver række?

Ja:

mysql> create table navne (navn char(64), efternavn char(128), unique (navn, efternavn));
Query OK, 0 rows affected (0.02 sec)

mysql> insert into navne values ('Per', 'Jensen');
Query OK, 1 row affected (0.03 sec)

mysql> insert into navne values ('Hans', 'Jensen');
Query OK, 1 row affected (0.00 sec)

mysql> insert into navne values ('Per', 'Jensen');
ERROR 1062: Duplicate entry 'Per-Jensen' for key 1
mysql> select * from navne;
+------+-----------+
| navn | efternavn |
+------+-----------+
| Hans | Jensen |
| Per | Jensen |
+------+-----------+
2 rows in set (0.00 sec)

mysql>

RTFM: http://www.mysql.com/doc/C/R/CREATE_TABLE.html


Mvh.

--
"It's gonna be one of those underground pictures, right?" Adam Sjøgren
"No. It's gonna be all straight. On the up and up." asjo@koldfront.dk

Jacob Bunk Nielsen (31-10-2001)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 31-10-01 19:12

"Tonni Aagesen" <use.my@signature.com> writes:

> ----------------------------
> | Navn | Efternavn |
> ----------------------------
> | Per | Jensen |
> ----------------------------
> | Hans | Nielsen |
> ----------------------------
>
> Hvis jeg så forsøger at indsætte "Per Jensen" igen, laves der så en ny
> række? Hvis der gør, kan man så undgå dette?

Du kan bruge 'REPLACE INTO'. Se
<http://www.mysql.com/doc/R/E/REPLACE.html>.

--
Jacob - www.bunk.cc
Where there's a will, there's a relative.

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste