Programing

1046 오류 데이터베이스를 선택하지 않았습니다. 어떻게 해결합니까?

lottogame 2020. 3. 30. 08:44
반응형

1046 오류 데이터베이스를 선택하지 않았습니다. 어떻게 해결합니까?


오류 SQL 쿼리 :

--
-- Database: `work`
--
-- --------------------------------------------------------
--
-- Table structure for table `administrators`
--
CREATE TABLE IF NOT EXISTS `administrators` (

`user_id` varchar( 30 ) NOT NULL ,
`password` varchar( 30 ) NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = latin1;

MySQL은 말했다 :

#1046 - No database selected

여기에 도움이 필요합니다.


사용할 데이터베이스를 MySQL에 알려야합니다.

USE database_name;

테이블을 만들기 전에

데이터베이스가 존재하지 않는 경우 다음과 같이 작성해야합니다.

CREATE DATABASE database_name;

뒤에 :

USE database_name;

사용할 데이터베이스를 MySQL에 알려줄 수도 있습니다 (이미 생성 한 경우).

 mysql -u example_user -p --database=example < ./example.sql

이전에서 만든 데이터베이스를 가져 오려고 할 때도 같은 오류가 발생했습니다. 이 문제를 해결하기 위해 수행 한 작업은 다음과 같습니다.

1- 새 데이터베이스 생성

2- use명령으로 사용

여기에 이미지 설명을 입력하십시오

3- 다시 시도

이것은 나를 위해 작동합니다.


명령 행을 통해이 작업을 수행하려는 경우 ...

명령 행 인터페이스에서 CREATE TABLE 문을 실행하려는 경우 조회를 실행하기 전에 작업중인 데이터베이스를 지정해야합니다.

USE your_database;

문서는 다음과 같습니다 .

MySQL Workbench를 통해이 작업을 수행하려는 경우 ...

... : Object Browser : 탭 위에있는 드롭 다운 메뉴에서 적절한 데이터베이스 / 카탈로그를 선택해야합니다. 연결에 대한 기본 스키마 / 데이터베이스 / 카탈로그를 지정할 수 있습니다. 워크 벤치 시작 화면의 SQL 개발 표제 아래에서 "연결 관리"옵션을 클릭하십시오.

추가

이 모든 것은 내부에 테이블을 만들려는 데이터베이스가 있다고 가정합니다. 그렇지 않은 경우 다른 것보다 먼저 데이터베이스를 만들어야합니다.

CREATE DATABASE your_database;

phpMyAdmin을 통해이 작업을 수행하는 경우 :

  • 라이브 사이트에 새로운 MySQL 데이터베이스를 이미 만들었다 고 가정합니다 (라이브 사이트는 호스팅하는 회사를 의미합니다 (내 경우 Bluehost)).

  • 라이브 사이트에서 phpMyAdmin으로 이동-방금 만든 데이터베이스에 로그인하십시오.

  • 지금 중요! 상단 표시 줄에서 "가져 오기"옵션을 클릭하기 전에 페이지 왼쪽에서 데이터베이스를 선택하십시오 (회색 막대의 상단에는 PHP Myadmin이 작성되어 있으며 그 아래에는 info_schema 및 방금 로그인 한 데이터베이스 이름의 두 가지 옵션이 있습니다).

  • 방금 생성 / 로그인 한 데이터베이스를 클릭하면 해당 데이터베이스가 표시되고 가져 오기 옵션을 클릭합니다.

그것은 나를 위해 속임수를했다. 정말 도움이 희망


  • 메모장 또는 메모장을SQL 사용 하여 파일 편집 ++
  • 다음 두 줄을 추가하십시오.

CREATE DATABASE NAME; USE NAME;


데이터베이스를 가져 오는 경우 먼저 동일한 이름으로 데이터베이스를 작성하고 선택한 다음 기존 데이터베이스를 데이터베이스로 가져와야합니다.

그것이 당신을 위해 작동하기를 바랍니다!


MySQL 워크 벤치

  1. 마우스 오른쪽 버튼을 클릭하여 스키마 탭에서 데이터베이스를 선택하십시오.
  2. 데이터베이스를 기본 스키마로 설정

여기에 이미지 설명을 입력하십시오


ivaning : "데이터베이스를 가져 오는 경우 먼저 같은 이름으로 데이터베이스를 생성 한 다음 선택하고 기존 데이터베이스를 가져와야합니다. 그것이 효과가 있기를 바랍니다."

단계는 다음과 같습니다. 데이터베이스를 작성하십시오 (예 : my_db1, utf8_general_ci). 그런 다음 클릭하여이 데이터베이스 내부로 이동하십시오. 그런 다음 "import"를 클릭하고 데이터베이스를 선택하십시오. my_db1.sql

그게 다야.


먼저 데이터베이스 선택 : USE db_name

그런 다음 creat table : CREATE TABLE tb_name (id int, name varchar (255), salary int, city varchar (255));

이것은 mysql 5.5 버전 구문의 경우


이것은 꽤 오래된 스레드이지만 방금 뭔가를 발견했습니다. 새 데이터베이스를 만든 다음 사용자를 추가하고 phpMyAdmin을 사용하여 .sql 파일을 업로드했습니다. 총 실패. 시스템이 내가 목표로하는 DB를 인식하지 못합니다 ...

처음으로 새 사용자를 연결하지 않고 새로 시작한 다음 동일한 phpMyAdmin 가져 오기를 수행하면 정상적으로 작동합니다.


추가하고 싶었습니다 : 라이브 사이트에서 mySQL로 데이터베이스를 생성하면 PHPMyAdmin으로 이동하여 데이터베이스가 표시되지 않습니다-cPanel에서 로그 아웃 한 다음 다시 로그인하여 PHPMyAdmin을 열면 데이터베이스가 있어야합니다.


안전성을 높이기 위해 동일한 스크립트에서 여러 DB로 작업 할 때 쿼리에서 DB를 지정할 수 있습니다 (예 : "create my_awesome_db.really_cool_table ...").


늦었다 고 생각합니다.]

mysqldumpmysql 대신 이 오류가 발생했을 때 솔루션을 검색하는 것처럼 여기 에 있다면 독일 웹 사이트에서 우연히 발견 한이 솔루션을 사용해보십시오. 그래서 나 같은 두통을 겪은 노숙자들과 공유하고 싶었습니다.

-databases데이터베이스 이름 앞에 매개 변수 가 없기 때문에 문제가 발생합니다.

따라서 명령은 다음과 같아야합니다.

mysqldump -pdbpass -udbuser --databases dbname

내 경우 문제의 또 다른 원인은 로컬에서 개발 중이고 root사용자에게 암호가 없기 때문에이 경우 --password=대신 대신 사용해야 -pdbpass하므로 최종 명령은 다음과 같습니다.

mysqldump -udbuser --password= --databases dbname

전체 스레드 링크 (독일어) : https://marius.bloggt-in-braunschweig.de/2016/04/29/solution-mysqldump-no-database-selected-when-selecting-the-database/


빈 암호에주의하십시오

mysqldump [options] -p '' --databases database_name

비밀번호를 요청하고 mysqldump: Got error: 1046: "No database selected" when selecting the database

문제는 -p옵션을 사용하려면 -p비밀번호와 비밀번호 사이에 공백이 없어야한다는 것 입니다.

mysqldump [options] -p'' --databases database_name

문제를 해결했습니다 (더 이상 인용이 필요하지 않습니다).


(당신은 상단에 현재 MySQL의 phpMyAdmin에를 사용하여 r에 경우 서버 '처럼 it'l. JST 것을 새로운 DB mysql.Select에 새로운 DB를 생성 . . file.Import를 가져 오기를 선택 탭으로 이동 부탁해 * >> 데이터베이스.) !

참고 URL : https://stackoverflow.com/questions/4005409/error-1046-no-database-selected-how-to-resolve

반응형