Célio A. 4 Denunciar post Postado Novembro 22, 2011 Agradecendo ao pessoal do fórum que tem me ajudado muito tenho mais uma duvida. Preciso saber qual a forma correta para declarar índice e chave estrangeira alem de outros atributos como InnoDB. Eu sei SQL, mas não sei a sintaxe para utilizar com php. Minha tabela teste é para criar uma nova tabela com o nome de um evento (campeonato) de Karate com id, nome e data de nascimento e com os campos que serão FK genero_id` (tabela gênero campo id`), faixa_id` (tabela faixa campo id`), entidade_id` (tabela entidade campo id) Esta funcionou: <?php ini_set( 'display_errors', true ); error_reporting( E_ALL ); $con = mysql_connect("localhost","root",""); mysql_select_db("karate", $con); $sql = "CREATE TABLE `karatecas`( `id` int(10) unsigned NOT NULL auto_increment, `nome` varchar(30) NOT NULL, `dn` date NOT NULL, `genero_id` varchar(2) NOT NULL, `faixa_id` char(5) NOT NULL, `entidade_id` int(5) NOT NULL, PRIMARY KEY (`id`) ) "; mysql_query($sql,$con) or die(mysql_error()); @mysql_close(); ?> Abaixo a forma que eu estou tentando e não funfou: <?php ini_set( 'display_errors', true ); error_reporting( E_ALL ); $con = mysql_connect("localhost","root",""); mysql_select_db("karate", $con); $sql = "CREATE TABLE `karatecas`( `id` int(10) unsigned NOT NULL auto_increment, `nome` varchar(30) NOT NULL, `dn` date NOT NULL, `genero_id` varchar(2) NOT NULL, `faixa_id` char(5) NOT NULL, `entidade_id` int(5) NOT NULL, PRIMARY KEY (`id`) KEY `genero_id` (`genero_id`) KEY `faixa_id` (`faixa_id`) KEY `entidade_id` (`entidade_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1"; $sql_alter = " ALTER TABLE `karatecas` ADD CONSTRAINT `karatecas` FOREIGN KEY (`genero_id`) REFERENCES `genero` (`id`), ADD CONSTRAINT `karatecas` FOREIGN KEY (`faixa_id`) REFERENCES `faixa` (`id`), ADD CONSTRAINT `karatecas` FOREIGN KEY (`entidade_id`) REFERENCES `entidade` (`id`)"; mysql_query($sql,$con,$sql_alter) or die(mysql_error()); @mysql_close(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Célio A. 4 Denunciar post Postado Novembro 23, 2011 ops!!! ja resolvi! <?php ini_set( 'display_errors', true ); error_reporting( E_ALL ); $con = mysql_connect("localhost","root",""); mysql_select_db("karate", $con); $sql = "CREATE TABLE `karatecas-3`( `id` int(10) unsigned NOT NULL auto_increment, `nome` varchar(30) NOT NULL, `dn` date NOT NULL, `genero_id` varchar(2) NOT NULL, `faixa_id` char(5) NOT NULL, `entidade_id` int(5) NOT NULL, INDEX genero_id (genero_id), INDEX faixa_id (faixa_id), INDEX entidade_id (entidade_id), FOREIGN KEY (genero_id) REFERENCES genero(id), FOREIGN KEY (faixa_id) REFERENCES faixa(id), FOREIGN KEY (entidade_id) REFERENCES entidade(id), PRIMARY KEY (`id`) ) ENGINE=INNODB"; mysql_query($sql,$con) or die(mysql_error()); @mysql_close(); ?> Compartilhar este post Link para o post Compartilhar em outros sites