에 나는 mysql
에 연결하고 다음과 같이 데이터베이스를 생성하는 bash
스크립트 쓰고 있어요하지 : 데이터베이스가테이블 만들기 - MySQL의에서 작동하지만 배쉬
mysql -u root -e "CREATE DATABASE test;"
내가 볼을 작성되는 다음 명령을 사용하여 :
mysql -u root -e "SHOW databases;"
출력한다 :
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
01 23,516,
는 지금 그러므로 나는이 코드를 실행, USE
이 새로 만든 데이터베이스와 CREATE TABLE
하고자 :
SELECT DATABASE();
문 반환 참조하기 위해서는
mysql -u root -e "USE test;"
mysql -u root -e "SELECT DATABASE();"
mysql -u root -e "CREATE TABLE information (id bigint NOT NULL AUTO_INCREMENT, name varchar(128), value_one int(255), value_two int(255), value_three int(255), value_four int(255), value_five bigint, value_six bigint);"
:
+------------+
| DATABASE() |
+------------+
| NULL |
+------------+
을
CREATE TABLE
성명을 통해이 오류가 표시됩니다.
ERROR 1046 (3D000) at line 1: No database selected
또한, 나는이 함께 참여 시도 :
mysql -u root -e "USE test; CREATE TABLE information (...);"
을 번 출구로 전혀. 나는 여전히 같은 오류가 발생합니다.
mysql
직접 명령에 데이터베이스에 대한 연결을 지원 감안할
:
mysql test -u root -e "CREATE TABLE information (...);"
또는이 response 당 :
mysql --database=test -u root -e "CREATE TABLE information (...);"
그들은 어느 나를 위해 작동하지 않았다을 .
누가 테이블을 만들 수 없는지 아는 사람이 있습니까?
도움을 주시면 감사하겠습니다.
UPDATE
은 @Genuine의 대답에 따르면, 실제로 mysql
에서 작동하지만 bash
를 통해 쿼리를 실행하는 관리 할 수 없습니다. 여기 mysql
터미널에서 모습입니다 :
내가 따라 데이터베이스에 bash
스크립트를 연결하는 방법에 대한 책을 읽은 많은 일을했습니다, 그리고 나는이 일을해야한다고 반복 :
mysql -u root -e "USE test; CREATE TABLE information (...);"
하지만 여전히 ERROR 1046 (3D000)
을 촬영하지는 않습니다.
내 bash
구문이 잘못 되었나요?
USE test; SELECT DATABASE();
지금 표시 :
+------------+
| DATABASE() |
+------------+
| test |
+------------+
주을 :
이 @Genuine 올바른 구문을 지적하는 것도 언급 할 가치가 위의 스크립트 조각이 기록 순차적으로, 나는 먼저 CREATE DATABASE test;
, 그 다음에 USE test;
a 마지막으로 CREATE TABLE information (...);
. 저의 최신 연결은 [email protected]
이며, 기본적으로 Sequel Pro을 사용하여 먼저 내 쿼리를 테스트 할 수 있도록 도와줍니다.
맞습니다. mysql은 'USE test'를 실행합니다. SELECT DATABASE();'올바르게, 그러나, 'USE test; CREATE TABLE 정보 (...)'는 여전히 나에게 같은 오류를 준다. –
이것을 디버깅하는 방법에 대한 제안이 있으십니까? @ 정품 –
mysql에서'create table'을 실행하여 SQL이 올바른지 확인할 수 있습니다. 그것은 복용량이 내 mysql에서 올바르게 실행되므로 잘 작동해야합니다. – Genuine