ciao voglio sapere che è possibile creare una chiave primaria in una tabella in mysql. se sì per favore dimmi il concetto dietro questo. perché ho visto una tabella in cui due chiave primaria è lì con nessun incremento automatico impostatoè possibile creare due chiavi primarie in una tabella
risposta
si può avere solo 1 chiave primaria, ma:
- è possibile combinare più di una colonna ad essere la chiave primaria (forse è questo quello che avete visto)
- la chiave primaria non deve essere un autoincremento, deve solo essere univoca
- è possibile aggiungere più di un indice a una o più colonne per accelerare le istruzioni SELECT (ma rallentare INSERT/UPDATE)
- questi indici possono essere contrassegnati come univoci, che significa s non lasciano si inserisce una seconda fila con lo stesso contenuto nell'indice campi (proprio come una chiave primaria)
http://dev.mysql.com/doc/refman/5.1/en/create-table.html
[...] Una tabella può avere una sola chiave primaria. [...]
È possibile utilizzare più colonne per la chiave primaria in questo modo:
CREATE TABLE
newTable
(field1 INT(11)
, field2 INT(11)
, field3 VARCHAR(5)
, field4 BLOB
, PRIMARY KEY (field2, field1, field3) <====
)
No, ma è possibile avere altri indici UNIQUE sul tavolo, oltre al PRIMARY KEY. UNIQUE + NOT NULL è fondamentalmente la stessa di una chiave primaria.
Quello che hai visto è probabilmente una chiave primaria composta (più di una colonna che costituisce la chiave univoca).
Una tabella può avere un singolo tasto PRIMARY, che può essere costituito da una o più colonne. Una tabella può avere anche un numero di chiavi aggiuntive definite come vincoli UNIQUE KEY.
Dalla descrizione non è chiaro se si stesse guardando un tavolo con più chiavi definite o una tabella con un PRIMARY KEY a più colonne.
Utilizzare una chiave primaria composita ...
ad es.
CREATE TABLE table1 (
first_id int unsigned not null,
second_id int unsigned not null auto_increment,
user_id int unsigned not null,
desc text not null,
PRIMARY KEY(first_id, second_id));
Inoltre, controllare l'esempio here
- 1. Doctrine - Tabella senza chiavi primarie
- 2. Due colonne come chiavi primarie in mysql?
- 3. SQLAlchemy dichiarativo: tabella senza chiavi primarie?
- 4. Ordinamento chiavi primarie
- 5. SQL Chiavi esterne multiple come chiavi primarie
- 6. NHibernate mappatura chiavi primarie multiple
- 7. laravel errore 4 Migrazione - crea due chiavi primarie AUTO_INCREMENT campi
- 8. Chiavi primarie con Apache Spark
- 9. Chiavi primarie e esterne in pgAdmin
- 10. Selezione chiavi primarie che non hanno chiavi esterne in un'altra tabella
- 11. @OneToMany e chiavi primarie composite?
- 12. sql scambia i valori delle chiavi primarie
- 13. interrogazione SQLite per trovare le chiavi primarie
- 14. Inserimento di record con chiavi primarie autoincrementanti
- 15. mysql chiavi primarie illimitate incremento automatico
- 16. È possibile creare una tabella temporanea su un server collegato?
- 17. come riutilizzare le chiavi primarie cancellate in mysql?
- 18. relazione di chiave esterna con le chiavi primarie composite in SQL Server 2005
- 19. come ottenere i nomi delle colonne delle chiavi primarie per una determinata tabella?
- 20. Denominazione delle chiavi primarie "id" vs "something_id" in SQL
- 21. ordinamento unix, con chiavi primarie e secondarie
- 22. Indici e l'utilizzo di chiavi primarie come indici in MySQL
- 23. Devo indicizzare le colonne di chiavi primarie in Oracle
- 24. Convenzioni di denominazione dei vincoli delle chiavi primarie NHibernate
- 25. qualcuno può spiegarmi cosa fanno effettivamente le chiavi primarie?
- 26. Postgres e indici su chiavi esterne e chiavi primarie
- 27. Perché utilizzare più colonne come chiavi primarie (chiave primaria composta)
- 28. In Oracle è possibile creare una tabella che esiste solo mentre il database è in esecuzione?
- 29. Entity Framework 6 - Tabella mancante con solo chiavi primarie che fanno riferimento a tabelle diverse
- 30. Progettazione database - convenzioni di denominazione delle chiavi primarie
Ho anche visto questo. Ma in SQL Server. –