MySQL, Baza Danych i problem z dodaniem TYPU |
MySQL, Baza Danych i problem z dodaniem TYPU |
17.09.2019, 12:07:11
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 |
|
|
17.09.2019, 12:33:00
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 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. -------------------- |
|
|
17.09.2019, 12:53:22
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 836 Pomógł: 226 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`) |
|
|
18.09.2019, 09:24:16
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. |
|
|
18.09.2019, 09:30:27
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A jaką długość pola ustawiłeś w przypadku CHAR/VARCHAR?
-------------------- |
|
|
18.09.2019, 10:00:36
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 |
|
|
18.09.2019, 10:43:31
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 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? -------------------- |
|
|
18.09.2019, 11:21:48
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Wyraźnie widać że jest gdzieś rzutowanie na int.
-------------------- |
|
|
18.09.2019, 11:39:53
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.
|
|
|
18.09.2019, 11:41:14
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A byłbyś jednak uprzejmy pokazać wyniki tych dwóch zapytań z mojego posta wyżej?
-------------------- |
|
|
18.09.2019, 12:06:09
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 ?
|
|
|
18.09.2019, 12:11:07
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 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ść.
-------------------- |
|
|
18.09.2019, 12:12:54
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.
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 15:08 |