Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Sprawdzenie i założenie kolumny w tabeli
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam, albo mam jakąś zaćmę albo robię coś źle....
Sprawdzam czy w tabeli mam kolumnę jeśli jej nie ma to chcę ją założyć, mam taki kod:
  1. $struktura = "SHOW COLUMNS FROM tabela LIKE nazwa";
  2. if(mysql_num_rows($struktura) > 0)
  3. {
  4. echo 'kolumna jest';
  5. }
  6. else
  7. {
  8. echo 'kolumny nie ma';
  9. $new="ALTER TABLE tabela ADD 'nazwa' INT NOT NULL";
  10. }
  11.  

Co mam skopane?
kokers
To zależy. A co ci nie działa?

Hmmm, po pierwsze może jakieś mysql_query() ? a dopiero potem mysql_num_rows. Do tego LIKE zazwyczaj potem ma string więc nazwa powinna być w 'nazwa'.
abort
show column działa dokładnie identycznie jak SELECT. Dla SELECT odczytujesz wiersz o (np.) użytkowniku 'jasiu' i wszystkie dane na temat owego jasia (imię, nazwisko,email...), przy show column odczytujesz wiersz o (na przykład) kolumnie "user", i otrzymujesz dane o danej kolumnie tabeli: nazwa, typ pola, defaulty, klucze...

Odpytaj bazę:
  1. SHOW COLUMNS FROM tabela WHERE FIELD='nazwa';
  2. SHOW COLUMNS FROM tabela WHERE FIELD LIKE 'nazwa';
krzesik
jeśli wpisuję powyższe polecenie do SQLAdmina to jest oki, ale jeśli robię to w skrypcie php to nie otrzymuję właściwego wyniku, podobnie mam z zapytaniem:
ALTER TABLE `tabela` ADD `nazwa` VARCHAR( 22 ) NOT NULL
poprostu bez jakiegokolwiek komunikatu, nie dodaje mi kolumny ......
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.