Přejít na hlavní obsah

Chyba 1046: nebyla vybrána databáze (Invalid query 1046 no database selected)

  • Jiřina Procházka
  • Rady

Kód chyby 1046 se často vyskytuje při práci se systémy správy databází (DBMS), jako je MySQL. Tato chyba naznačuje, že při provádění dotazu nebyla vybrána databáze, aby fungovala.

Práce s DBMS zahrnuje vytváření a používání databází, které obsahují informace, se kterými je třeba pracovat. Bez vybrané databáze není možné provést dotaz.

Chyba 1046 může nastat z různých důvodů. Jedním z častých případů je spuštění skriptu SQL v prostředí MySQL bez uvedení názvu databáze. V takových případech systém nemůže pochopit, na kterou databázi použít tento skript a vydá chybu 1046.

Chcete-li tento problém vyřešit, musíte před provedením výzvy vybrat databázi, se kterou chcete pracovat. To lze provést pomocí příkazu "USE database_name;" (kde database_name je název požadované databáze).

Za zmínku také stojí, že chyba 1046 může nastat při pokusu o provedení požadavků na neexistující databázi nebo při absenci přístupu k vybrané databázi.

Co je chyba 1046 v MySQL?

MySQL vyžaduje, aby byla před provedením jakéhokoli dotazu SQL vybrána aktivní databáze. Chyba 1046 může být způsobena nesprávným použitím příkazu USE k výběru databáze nebo nedostatkem příkazu USE vůbec.

Chcete-li problém vyřešit, musíte se ujistit, že příkaz USE byl použit před provedením dotazu SQL k výběru aktivní databáze. Chcete-li například vybrat databázi s názvem "mydatabase" , musíte použít následující příkaz:

Poté budou všechny následující dotazy SQL provedeny v kontextu vybrané databáze a chyba 1046 by neměla nastat.

Pokud se chyba 1046 objeví i při použití příkazu USE, je možné, že databáze se zadaným názvem neexistuje. V takovém případě je nutné vytvořit databázi pomocí příkazu CREATE DATABASE nebo ověřit správnost názvu databáze.

Důležitě: Chyba 1046 může také nastat, pokud uživatel, jehož jménem je SQL dotaz spuštěn, nemá přístup k vybrané databázi. V takovém případě je nutné zajistit, aby uživatel měl příslušná oprávnění k přístupu do databáze.

Stručně řečeno, k chybě 1046 v MySQL dochází, když není vybrána databáze před provedením dotazu SQL. Tuto chybu lze snadno opravit výběrem aktivní databáze pomocí příkazu USE a ověřením, že uvedená databáze existuje a uživatel má potřebná oprávnění k přístupu.

Chyba 1046 v MySQL: příčiny a způsoby opravy

Popis chyby 1046

Chyba 1046 v MySQL připojení nastává, když není vybrána databáze. To znamená, že před provedením žádosti musíte zadat aktuální databázi, aby mohla fungovat.

Příčiny chyby 1046

Existuje několik důvodů, proč k této chybě může dojít:

1. Není uvedena databáze.

V MySQL je nutné před provedením dotazu explicitně zadat databázi. Pokud to není provedeno, systém neví, kde hledat data a generuje chybu 1046.

2. Chyba při změně aktuální databáze.

Pokud došlo k chybě při přepnutí na jinou databázi příkazem USE,, může dojít k chybě 1046. K tomu může dojít, pokud uvedená databáze neexistuje nebo k ní uživatel nemá oprávnění.

3. Nesprávný název databáze.

Pokud je uvedený název databáze nesprávný nebo obsahuje překlepy, MySQL ji nemůže najít a vydá chybu 1046.

Způsoby opravy chyby 1046

Chcete-li opravit chybu 1046 v MySQL, můžete podniknout následující kroky:

1. Uveďte databázi v žádosti.

Před provedením žádosti se ujistěte, že je uvedena požadovaná databáze. Chcete-li to provést, přidejte řádek USE název_bazy_dané; před vaší žádostí. Například:

SELECT * FROM mytable;

2. Zkontrolujte a opravte chybu při změně databáze.

Zajistěte tým USE používá se správně a označuje existující databázi, ke které máte přístup.

3. Zkontrolujte správnost názvu databáze.

Zkontrolujte, zda je pravopis názvu databáze správný. Ujistěte se, že neexistují žádné překlepy a že používáte přesné názvy databází.

Pokud se stále setkáváte s chybou 1046, doporučujeme kontaktovat správce databáze pro další pomoc.

Jak mohu zabránit chybě 1046 v MySQL?

K chybě 1046 v MySQL dochází, když se pokusíte provést dotaz do databáze bez výběru aktivní databáze. K této chybě dochází, když neuvedete, se kterou databází chcete pracovat.

Pokud narazíte na chybu 1046, existuje několik způsobů, jak jí zabránit:

1. Do dotazu zadejte aktivní databázi.

Musíte jasně určit, s jakou databází chcete pracovat. K tomu použijte příkaz USE před provedením požadavku. Například:

USE имя_вашей_базы_данных;Ваш_запрос_к_базе_данных;

2. Při připojení k serveru MySQL zadejte aktivní databázi.

Pokud k připojení k serveru MySQL používáte skript, můžete v kódu připojení zadat aktivní databázi. Například:

mysqli_select_db($connection, 'имя_вашей_базы_данных');Ваш_запрос_к_базе_данных;

3. Zkontrolujte správnost názvu databáze.

Pokud jste si jisti, že databáze existuje, ujistěte se, že jste správně uvedli její jméno v dotazu nebo při připojení k serveru. Použijte správný název databáze vzhledem k registru znaků.

4. Vytvořte databázi, pokud neexistuje.

Pokud databáze neexistuje, můžete ji vytvořit pomocí příkazu CREATE DATABASE . Například:

CREATE DATABASE имя_вашей_базы_данных;

Po vytvoření databáze budete moci provádět dotazy k ní bez chyby 1046.

Před provedením dotazů nebo připojením k serveru MySQL se ujistěte, že vyberete aktivní databázi, a zkontrolujte, zda je název databáze správný. To pomůže zabránit chybě 1046 a úspěšně pracovat s databází v MySQL.