Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> tworzenie tabelu z wymuszonym ciągiem znaków
djszaki
post 5.03.2019, 10:12:19
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.07.2017

Ostrzeżenie: (0%)
-----


witam, czy można w mysql wymusić przy tworzeniu tabeli aby do kolumny np kod pocztowy można było wstawić tylko kod w formacie np xx-xxx gdzie x oznacza liczbę
wiem, że są wyrażenia regularne które póżniej mogą sprawdzić, poprawić itp. ale czy da się odrazu zabezpieczyć kolumnę przed wprowadzeniem nieprawidłowego ciągu

jak robię
create table dane (
kodPocztowy text REGEXP '[0-9][0-9]-[0-9][0-9][0-9]'
)

to nie działa smile.gif
Go to the top of the page
+Quote Post
viking
post 5.03.2019, 10:22:36
Post #2





Grupa: Zarejestrowani
Postów: 5 228
Pomógł: 876
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


https://dev.mysql.com/doc/refman/8.0/en/cre...onstraints.html


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 5.03.2019, 10:28:38
Post #3





Grupa: Zarejestrowani
Postów: 7 788
Pomógł: 1371
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Ale to w mysql 8 dopiero
Go to the top of the page
+Quote Post
viking
post 5.03.2019, 10:30:36
Post #4





Grupa: Zarejestrowani
Postów: 5 228
Pomógł: 876
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


I tak cud że w końcu łaskawie dodali.


--------------------
Go to the top of the page
+Quote Post
djszaki
post 5.03.2019, 17:13:16
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.07.2017

Ostrzeżenie: (0%)
-----


albo nie umiem albo nie wiem
zrobiłem coś takiego

CREATE TABLE t5
(
id INT CHECK (id > 10),
CONSTRAINT id CHECK (id > 10)
);

lub

CREATE TABLE t5
(
id INT CHECK (id > 10),

);

i tak i tak mogę dalej wprowadzać liczby i mniejsze od 10 i większe co robie nie tak ?

Go to the top of the page
+Quote Post
viking
post 5.03.2019, 17:20:35
Post #6





Grupa: Zarejestrowani
Postów: 5 228
Pomógł: 876
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Jaka wersja bazy? W przypadku wcześniejszych jest pomijane.


--------------------
Go to the top of the page
+Quote Post
djszaki
post 5.03.2019, 19:54:14
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.07.2017

Ostrzeżenie: (0%)
-----


Najnowsza

jakies pomysly czemu to zezwala na wprowadzenie liczb nie spełniająych warunku ?
Go to the top of the page
+Quote Post
viking
post 5.03.2019, 20:02:41
Post #8





Grupa: Zarejestrowani
Postów: 5 228
Pomógł: 876
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


  1. INSERT INTO `t5` (`id`) VALUES (5);
  2. /* Błąd SQL (4025): CONSTRAINT `id` failed for `t5` */
  3.  
  4. INSERT INTO `t5` (`id`) VALUES (11);
  5. /* Zmodyfikowane wiersze: 1 Znalezionych wierszy: 0 Ostrzeżenia: 0 Czas przetwarzania 1 zapytanie: 0,016 sec. */


Pokaż SELECT version();

Ten post edytował viking 5.03.2019, 20:06:23


--------------------
Go to the top of the page
+Quote Post
djszaki
post 5.03.2019, 20:25:17
Post #9





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.07.2017

Ostrzeżenie: (0%)
-----


'8.0.15'

na tej wersji normalnie mi dodaje

Ten post edytował djszaki 5.03.2019, 20:26:56
Go to the top of the page
+Quote Post
Pyton_000
post 5.03.2019, 20:35:56
Post #10





Grupa: Zarejestrowani
Postów: 7 788
Pomógł: 1371
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Kod
Prior to MySQL 8.0.16,...
Go to the top of the page
+Quote Post
djszaki
post 5.03.2019, 21:31:04
Post #11





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.07.2017

Ostrzeżenie: (0%)
-----


ja mam wersję https://dev.mysql.com/downloads/windows/installer/8.0.html

8.0.15 Community
Go to the top of the page
+Quote Post
viking
post 6.03.2019, 00:15:12
Post #12





Grupa: Zarejestrowani
Postów: 5 228
Pomógł: 876
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Jak to nie robi różnicy możesz zainstalować mariadb.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2019 - 21:36