Chcialem utworzyc relacje pomiedzy tabelami. Utworzylem tabele za pomoca polecen:
<?php CREATE TABLE tabela_a ( kolumna_b VARCHAR(10) UNIQUE NOT NULL, kolumna_c VARCHAR(8) DEFAULT NULL, kolumna_d FLOAT(10,2) DEFAULT NULL, kolumna_e FLOAT(10,2) DEFAULT NULL, kolumna_f FLOAT(10,2) DEFAULT NULL, kolumna_g FLOAT(10,2) DEFAULT NULL ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE TABLE tabela_b ( kolumna_b VARCHAR(20) REFERENCES tabela_a(kolumna_a) ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci; ?>
<?php mysql> insert into sms_indexes_content values('ala ma kota', 'sialala'); Query OK, 1 row affected (0.04 sec) mysql> ?>
I jak chce wpisac do tabela_b.kolumna_b wartosc ktorej nie ma w tabela_a.kolumna_a to MySQL zezwala na to. Gdzie robie blad?
------------------------------------------------[ ODPOWIEDZ ]------------------------------------------------
Dla osob, ktore maja ten sam problem, zapytania powinny wygladac nastepujaco:
<?php CREATE TABLE tablea_a ( kolumna_b VARCHAR(10) UNIQUE NOT NULL, kolumna_c VARCHAR(8) DEFAULT NULL, kolumna_d FLOAT(10,2) DEFAULT NULL, kolumna_e FLOAT(10,2) DEFAULT NULL, kolumna_f FLOAT(10,2) DEFAULT NULL, kolumna_g FLOAT(10,2) DEFAULT NULL ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE TABLE tabela_b ( kolumna_b VARCHAR(20) NOT NULL, ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci; ?>
GOOD LUCK!
