zrobiłem bazę w mysqlu, usunąłem z dwóch tabel dane, i teraz gdy wprowadzam nowe dane to klucze głowne (primary key auto_increment not null) numerowane są od numeru trzeciego a nie od pierwszego(ponieważ te 2 pierwsze własnie usunąłem). Czy istnieje sposob aby przywrócić numeracje od numeru pierwszego?Jesli tak to jaki?
I drugi problem: robię na własny użytek aplikacje w php/mysqlu do nauki słówek j. angielskiego.w pierwszej tabeli mam słowko angielskie, w drugiej polskie, i teraz chce połączyć je relacją aby było wiadomo że np słowko car znaczy samochód.
Nie wiem za bardzo jak zakodować w php samo dodawanie relacji.
Kawałek kodu bazy MySQL:
CREATE TABLE tlumaczenie( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, id_slowo_ang INT NOT NULL, id_slowo_pl INT NOT NULL, FOREIGN KEY(id_slowo_ang) REFERENCES slowo_ang(id), FOREIGN KEY(id_slowo_pl) REFERENCES slowo_pl(id) )ENGINE=InnoDB; CREATE TABLE slowo_pl( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nazwa VARCHAR(40) )ENGINE=InnoDB; CREATE TABLE slowo_ang( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, wymowa VARCHAR(40), nazwa VARCHAR(40) )ENGINE=InnoDB;
i tutaj kawałek kodu służący do dodawania słówek(w php):
$nazwa_pl = $_POST['nazwa_pl']; $nazwa_an = $_POST['nazwa_an']; $wymowa = $_POST['wymowa']; $zapytanie = "INSERT INTO angielski.slowo_ang(nazwa,wymowa) VALUES('$nazwa_an','$wymowa')"; mysqli_query($baza,$zapytanie) or die('Nie można dodać słówka '.$nazwa_an.' Kod błędu: '.mysql_error()); $zapytanie = "INSERT INTO angielski.slowo_pl(nazwa) VALUES('$nazwa_pl')"; mysqli_query($baza,$zapytanie) or die('Nie można dodać słówka '.$nazwa_pl.'. Kod błędu: '.mysql_error()); $zapytanie = [b]"INSERT INTO angielski.tlumaczenie(id_slowo_ang,id_slowo_pl) VALUES(1,1)";[/b]
Problem jest w tym pogrubionym kodzie php, który odpowiada za relacje - w polu values wartośći będą zależne od tego jakie wartosci beda miały klucze głowne tabel slowo_ang i slowo_pl, no i własnie jaką tu funkcje zastosowac albo jak to zrobić zeby te wartosci były identyczne jak klucze tabel?