PDA

Visualizza la versione completa : [MYSQL] Creazione di tabella con chiave primaria su campo VARCHAR


GEMY80
03-07-2007, 11:48
Volevo sapere se è possibile creare una tabella con la chiave primaria non 'int' ma 'varchar' per esempio:
;************************************************* **
drop database if exists my_new;
create database my_new;

use my_new;

create table image
(
nomeimage varchar(70) not null,
coortl varchar(30),
coortr varchar(30),
coorbl varchar(30),
coorbr varchar(30),
orbit varchar(10),
nation varchar(20),
frameid varchar(15),
PRIMARY KEY (nomeimage)
) type=MYISAM;

create table namefile
(
IDfile int not null auto_increment references image(nomeimage),
nome varchar(70),
PRIMARY KEY (IDfile)
) type=MYISAM;
;************************************************* **

Volevo sapere se è corretta la creazione delle tabelle. :master:

grazie :ciauz:

LeleFT
03-07-2007, 12:07
Certo.
La chiave primaria può essere definita su una qualunque tupla, l'importante è che essa garantisca l'unicità dei record.


Ciao. :ciauz:

alka
03-07-2007, 14:36
Originariamente inviato da LeleFT
La chiave primaria può essere definita su una qualunque tupla, l'importante è che essa garantisca l'unicità dei record.
Questo è vero, anche se lavorando con InterBase/FireBird viene posto un limite alla lunghezza del campo alfanumerico VARCHAR per poterlo adottare come chiave primaria o indice della tabella. Ciò non significa che avvenga lo stesso con MySQL, ma mi premeva portare all'attenzione questo fatto, nel caso in cui la creazione della chiave o dell'indice fallisca, poiché potrebbe essere il motivo. :)

Ciao! :ciauz:

Loading