>Ho un altro problema in un altra tabella ho due campi (che non
>sono la chiave primaria) che ho bisogno che siano unici cioè
>la coppia devve essere unica, il singolo campo no, come faccio
>ad impostarli in questo modo?
Definisci un constraint UNIQUE su entrambe le colonne.
Non conosco MySQL, in SQL Server farei così:
USE tempdb;
GO
CREATE TABLE dbo.Students
(
StudentID int NOT NULL PRIMARY KEY,
FirstName varchar(10) NOT NULL,
LastName varchar(10) NOT NULL
);
/* Aggiungo il constraint UNIQUE sul nome e cognome */
ALTER TABLE dbo.Students
ADD CONSTRAINT UN_FullName UNIQUE(FirstName, LastName);
INSERT INTO dbo.Students VALUES(1, 'Lorenzo', 'Benaglia');
INSERT INTO dbo.Students VALUES(2, 'Luca', 'Bianchi');
INSERT INTO dbo.Students VALUES(3, 'Marcello', 'Poletti');
/* Questa INSERT fallirà perché viola il constraint UNIQUE */
INSERT INTO dbo.Students VALUES(4, 'Lorenzo', 'Benaglia');
/* Output:
Msg 2627, Level 14, State 1, Line 1
Violation of UNIQUE KEY constraint 'UN_FullName'.
Cannot insert duplicate key in object 'dbo.Students'.
The statement has been terminated.
*/
SELECT *
FROM dbo.Students;
/* Output:
StudentID FirstName LastName
----------- ---------- ----------
1 Lorenzo Benaglia
2 Luca Bianchi
3 Marcello Poletti
(3 row(s) affected)
*/
DROP TABLE dbo.Students;
>Grazie ancora, ciao ciao.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org