MySQL SELECT WHERE PERSON_NAME = Функция не работает - PullRequest
0 голосов
/ 07 февраля 2019

Итак, я пробую SQL и обучаю себя маленьким шагам, и по какой-то причине это не работает.Все, что я получаю, это имена содержимого таблицы, появится всплывающая сетка, показывающая "PERSON_NAME PERSON_SURNAME BIRTH_PLACE BIRTH_DATE YEARLY_WAGE PERSON_AGE в поле сетки в MySQL, но не значения, которые я вставил в них. Вот код

CREATE TABLE PEOPLES (
PERSON_NAME VARCHAR(50) NOT NULL,
PERSON_SURNAME VARCHAR(50) NOT NULL,
BIRTH_PLACE VARCHAR(50) NOT NULL,
BIRTH_DATE date NOT NULL,
YEARLY_WAGE INT (50) NOT NULL,
PERSON_AGE INT (50) NOT NULL
);
INSERT INTO PEOPLES (PERSON_NAME, PERSON_SURNAME, BIRTH_PLACE, BIRTH_DATE, YEARLY_WAGE, PERSON_AGE)
VALUES ("Trollfire", "Lolmay", "Montenegro", 29042000, 600000, 19);
INSERT INTO PEOPLES (PERSON_NAME, PERSON_SURNAME, BIRTH_PLACE, BIRTH_DATE, YEARLY_WAGE, PERSON_AGE)
VALUES ("Thomas", "Trainson", "Albania", 17091964, 100000, 60);
INSERT INTO PEOPLES (PERSON_NAME, PERSON_SURNAME, BIRTH_PLACE, BIRTH_DATE, YEARLY_WAGE, PERSON_AGE)
VALUES ("Stefan", "Savic", "Serbia", 19021972, 234567, 25);
INSERT INTO PEOPLES (PERSON_NAME, PERSON_SURNAME, BIRTH_PLACE, BIRTH_DATE, YEARLY_WAGE, PERSON_AGE)
VALUES ("Milo", "Djukanovic", "Croatia", 999999, 01011922, 70);
INSERT INTO PEOPLES (PERSON_NAME, PERSON_SURNAME, BIRTH_PLACE, BIRTH_DATE, YEARLY_WAGE, PERSON_AGE)
VALUES ("Vladimir", "Putin", "Russia", 444444, 11121933, 62);
INSERT INTO PEOPLES (PERSON_NAME, PERSON_SURNAME, BIRTH_PLACE, BIRTH_DATE, YEARLY_WAGE, PERSON_AGE)
VALUES ("Cristiano", "Ronaldo", "France", 777777, 03031993, 34);
INSERT INTO PEOPLES (PERSON_NAME, PERSON_SURNAME, BIRTH_PLACE, BIRTH_DATE, YEARLY_WAGE, PERSON_AGE)
VALUES ("Lionel", "Messi", "Spain", 101010, 10101910, 40);
SELECT * FROM PEOPLES
WHERE PERSON_NAME = "Vladimir";

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Проблема в том, что ваша таблица содержит только одну строку.

mysql> select * from peoples;
+-------------+----------------+-------------+------------+-------------+------------+
| PERSON_NAME | PERSON_SURNAME | BIRTH_PLACE | BIRTH_DATE | YEARLY_WAGE | PERSON_AGE |
+-------------+----------------+-------------+------------+-------------+------------+
| Lionel      | Messi          | Spain       | 2010-10-10 |    10101910 |         40 |
+-------------+----------------+-------------+------------+-------------+------------+

Это потому, что большинство ваших вставок не удалось.

ERROR 1292 (22007): Incorrect date value: '29042000' for column 'BIRTH_DATE' at row 1

Я предполагаю, что это DDMMYYYY.Даты обычно YYYYMMDD, а не числа.Одна вставка имела правильную дату.

0 голосов
/ 07 февраля 2019

Ваши литералы даты неверны, возможно, среди других проблем в вашем заявлении вставки.Вот версия с синтаксисом, которая работает:

INSERT INTO PEOPLES (PERSON_NAME, PERSON_SURNAME, BIRTH_PLACE, BIRTH_DATE,
    YEARLY_WAGE, PERSON_AGE)
VALUES
    ('Trollfire', 'Lolmay', 'Montenegro', '2000-04-29', 600000, 19);

Демо

Обратите внимание, что строковые литералы обычно должны использовать одинарные, а не двойные кавычки,Кроме того, см. Документацию MySQL , чтобы узнать действительные форматы литералов даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...