: 터미널 명령에나는 다음과 같은 터미널 명령으로 변환하려고
12/07/2017 19:49:48
: 출력
date +"%m/%d/%Y %H:%M:%S"
인을 그것은 date +"%m/%d/%Y %H:%M:%S"
의 터미널 출력을 mysql 데이터베이스 테이블의 값으로 삽입합니다 :
전체 터 내가 사용하려고 minal 명령은 다음과 같습니다
echo "INSERT INTO block (date, data, sha256) VALUES ($(date +"%m/%d/%Y %H:%M:%S"), "dogs are loyal", "6324542a2ce0b80ad32e45b5ca8e8b9dd02da8802c6fc9939637dabda113e35e");"| mysql blockchain -u root;
그리고 나는 다음과 같은 오류 얻을 :
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '19:49:48, dogs are loyal, 6324542a2ce0b80ad32e45b5ca8e8b9dd02da8802c6fc9939637da' at line 1
어떤 이상한 것은 내가 오류를 발견 "날짜"명령이 실행이 있지만 그것은 단지입니다을 19:49:48
이 언급되었으므로 %H:%M:%S
을 캡처합니다.
나는 MySQL의 명령 줄 인터페이스에 직접 명령을 실행하려고 다음과 같은 오류가있어 다음과 같이
ERROR 1305 (42000): FUNCTION blockchain.$ does not exist
내 데이터베이스 세부
은 다음과 같습니다내 데이터베이스 이름이 "blockchain"입니다, 테이블을 "블록"이라고하며 테이블 설명은 아래에 나열되어 있습니다. 이러한 오류를 바탕으로
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| blockchain |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)
mysql> show tables;
+----------------------+
| Tables_in_blockchain |
+----------------------+
| block |
+----------------------+
mysql> desc block;
+--------+-------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------------+------+-----+---------+----------------+
| id | int(255) unsigned | NO | PRI | NULL | auto_increment |
| date | varchar(20) | NO | | NULL | |
| data | varchar(250) | NO | | NULL | |
| sha256 | varchar(64) | NO | | NULL | |
+--------+-------------------+------+-----+---------+----------------+
, 나는 그것이 특수 문자와 함께 할 수있는 뭔가 주로 "$"가 가정입니다, 그러나 또한 "+"또는 명령에 ""빈 공간 일 수 있습니다.
나는 약간의 연구를했는데, 명령의 출력을 mysql 테이블에 INSERT 값으로 사용하기 위해 escape characterses ''vs``vs "$"vs "\"를 가지고 놀려고했지만 나는 여전히 몇 가지 문제를 겪고있다. 최후의 수단으로이 커뮤니티에 연락하고 싶습니다.
미리 양해 해 주셔서 감사합니다.
"dogs are loyal"이라는 값을 작은 따옴표로 묶어서 터미널에서 명령을 실행 해 보았습니까? –