Potrzebuję zrobić coś prostego - wstaw wiersz do MySQL (z PHP), ale bez wartości. Tabela MySQL będzie już mieć domyślne wartości, których potrzebuje, więc nie muszę wstawiać żadnych wartości. Jak wyglądałaby instrukcja wstawiania bez wartości do wstawienia?Jak wstawić wiersz bez żadnych wartości, aby wszystkie kolumny miały domyślną wartość?
Odpowiedz
INSERT INTO my_table VALUES()
W SQL Server wygląda to tak.
insert into TableName default values
Można użyć default values
:
insert YourTable default values
Właściwym sposobem jest dostarczenie listy pustymi wartościami i niech pola wziąć ich domyślne wartości domyśle:
INSERT INTO `table`() VALUES();
Alternatywnie możesz użyć słowa kluczowego DEFAULT
:
INSERT INTO `table` (`Col1`, `Col2`, ...) VALUES(DEFAULT, DEFAULT, ...);
Albo (zakładając, że dajesz wartości dla wszystkich kolumn) po prostu:
INSERT INTO `table` VALUES(DEFAULT, DEFAULT, ...);
wszystkie wymagane informacje można znaleźć w the documentation for INSERT
:
Jeśli nie podawaj listy nazw kolumn dla INSERT ... VALUES lub INSERT ... SELECT, wartości dla każdej kolumny w tabeli muszą być dostarczone przez listę VALUES lub instrukcję SELECT. Jeśli nie znasz znać kolejność kolumn w tabeli, użyj DESCRIBE tbl_name do dowiedzieć.
[..]
Jeśli nie są uruchomione w trybie ścisłej SQL, każda kolumna nie jawnie podana wartość jest ustawiona na wartość domyślną wartość (explicite lub implicite). Dla przykładu , jeśli określisz listę kolumn, która nie wymienia wszystkich kolumn w tabeli, kolumny bez nazwy są ustawione na ich wartości domyślne. Domyślne przypisanie wartości opisano w rozdziale 10.1.4, "Typ danych Wartości domyślne". Patrz także sekcja 1.8.6.2, "Ograniczenia dotyczące nieprawidłowych danych ".
[..]
użyć domyślnego kluczowe aby ustawić kolumnę wyraźnie do jego wartości domyślnej . Ułatwia to pisanie instrukcji INSERT, które przypisują wartości do wszystkich, z wyjątkiem kilku kolumn, ponieważ pozwala uniknąć zapisywania niekompletnej listy wartości VALUES, która nie zawiera wartości dla każdej kolumny w tabeli, dla wartości . W przeciwnym razie musisz wypisać listę nazw kolumn odpowiadających każdej wartości na liście VALUES.
[..]
Jeżeli zarówno lista kolumnowa listy wartości są puste INSERT tworzy wiersz z każdej kolumny ustawione na wartość domyślną:
INSERT INTO tbl_name() VALUES();
[..]
w trybie ścisłym , wystąpi błąd, jeśli dowolna kolumna nie ma domyślnej wartości . W przeciwnym razie MySQL używa domyślnej domyślnej wartości dla dowolnej kolumny , która nie ma jawnie zdefiniowanej wartości domyślnej.
'WSTAW NA nazwa_tabeli DEFAULT' nie działa w MySQL. Zamiast tego należy użyć 'INSERT INTO table_name VALUES()'. – izogfif
'POKAŻ ZMIENNY JAK" sql_mode ";' daje 'STRICT_TRANS_TABLES, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION', więc uważam, że jest to tryb SQL Strict. Kiedy wykonuję zapytanie 'INSERT INTO nazwa_tabeli DEFAULT;' to daje błąd 'Błąd SQL (1064): Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu 'DEFAULT' w linii 1'. Wskazałem, że dałeś dwie możliwości, a pierwsza nie działa w przypadku MySQL. – izogfif
@izogfif: To wydaje się dokładne, dzięki –
- 1. SQL-jak wstawić wiersz bez automatycznej inkrementacji kolumny identyfikatora?
- 2. Jak zmienić domyślną wartość kolumny w PostgreSQL?
- 3. Jak wstawić wartość dla kolumny bitowej mysql
- 4. Sequence jako wartość domyślną dla kolumny
- 5. Chcę, aby wszystkie kolumny (<td></td>) miały równą długość, jak to osiągnąć?
- 6. Migracje Laravel zmieniają domyślną wartość kolumny
- 7. Jak ustawić wartość domyślną na pusty ciąg dla kolumny TEXT?
- 8. Ustaw domyślną wartość kolumny liczb całkowitych SQLite
- 9. jak ustawić domyślną wartość kolumny w szynach podczas tworzenia migracji
- 10. MySql wybierając domyślną wartość, jeśli nie ma żadnych wyników?
- 11. Jak wstawić nowy wiersz do bazy danych za pomocą kolumny AUTO_INCREMENT bez określania nazw kolumn?
- 12. Czy Spring wymaga, aby wszystkie komponenty bean miały domyślny konstruktor?
- 13. Jak sprawdzić, czy wartość kolumny ma wartość NULL lub ma wartość domyślną w Mysql
- 14. jak ustawić wartość domyślną HTML.EditorFor()
- 15. Jak zmienić wartość kolumny DataTable bez pętli?
- 16. Jaką wartość mogę wstawić do kolumny typu bitowego?
- 17. Jak wstawić wartości do kolumny auto identity w MYSQL
- 18. Nie można wstawić wartość niestandardową do kolumny tożsamości - Entity Framework
- 19. Jak przywrócić wartość domyślną z zapytania SQL
- 20. bash przypisz wartość domyślną
- 21. Modyfikuj wartość domyślną w SQL Server
- 22. wstawić do unikalnej kolumny samej wartości z dwóch sesji (Oracle)
- 23. Jak wstawić bieżącą datę do kolumny wiersza?
- 24. wstawić nowy wiersz w DataTable
- 25. Oracle: wstaw bez kolumny specyfikacja
- 26. sqlite3 zmiana domyślnej wartości kolumny
- 27. Wywołać wstawić stare wartości - wartości, które zostały zaktualizowane
- 28. Jak wstawić pusty wiersz do tabeli SQL?
- 29. rails3 default_scope i domyślną wartość kolumny w migracji
- 30. Usuń wszystkie kolumny bez danych z DataTable
Jest to właściwie poprawna odpowiedź dla MySQL. –
Praca z mariadb również - 10.0.31-MariaDB – MarcoZen