![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam Pole 'ID' ktore ma się składać z numeru i liczb ze średnikiem np. 98 - A056B i problem jest w tym że zamiast liter zapisuje mi do bazy danych liczby. Czy wiecie jaki TYP użyć ? Używam AI oraz UNSIGNED ZEROFILL bo w numerach na początku występują kody rozpoczynjące się od zera np 00 - AF456 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Na początku występuje liczba, ale potem już nie. Tak więc na pewno nie typ INT i nie AI, bo autoinkrement nie zbuduje Ci ciągu w takiej postaci.
Czyli typ CHAR lub VARCHAR w zależności czy długość ciągu jest stała. A dodatkowo indeks unikalny. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Możesz nam powiedzieć jaki typ jest teraz?
Autoincrement używa się do typów INT a nie stringów. jeżelu chcesz sekwencję to ustaw sobie dwie kolumny gdzie jedna to ID z AI, a druga string podczas zapytania użyj CONCAT(`id`, '-', `drugaInformacja`) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) ![]() ![]() |
CHAR i VARCHAR przyjmuje ale niestety nie zapisuje liter. Nadal przyjmuje tylko liczby.
AT oczywiście odhaczone. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A jaką długość pola ustawiłeś w przypadku CHAR/VARCHAR?
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) ![]() ![]() |
Robiłem na 12 i 250. Bez skutku. Wpisuje np do pola AAAA to zapisuje mi to jako 0.
Ten post edytował Zenobiusz 18.09.2019, 10:01:07 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż wynik z:
SHOW CREATE TABLE tu_nazwa_tabeli; albo: DESC tu_nazwa_tabeli; Wartość wprowadzasz bezpośrednio do bazy czy poprzez jakiś skrypt/formularz? -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wyraźnie widać że jest gdzieś rzutowanie na int.
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) ![]() ![]() |
Wprowadzam przez skrypt ale przez baze czyli bezpośrednio wychodzi tak samo.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A byłbyś jednak uprzejmy pokazać wyniki tych dwóch zapytań z mojego posta wyżej?
-------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam. Jednak z bazy danych jest poprawnie problem leży na skrypcie. PRzez skrypt do bazy danych przechodzi przez 0 natomiast przez baze danych wpisuje się poprawnie. Wiec teraz jaki mam wkleić problem ?
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź po kolei przez jakie miejsca w kodzie przechodzi zmienna (do momentu INSERT), która przechowuje tą wartość.
-------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 17.05.2019 Ostrzeżenie: (0%) ![]() ![]() |
Viking miałeś racje. Problem leżał na int a dokładnie w skrypcie. Poprawiłem już i wszystko działa. Dziękuje wszystkim za zaangażowanie i dla każdego polecą dziękówki. Pozdrawiam.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 11:30 |