Использование VARCHAR в Mysql - PullRequest
0 голосов
/ 15 апреля 2020

Могу ли я использовать VARCHAR для хранения этого GVC/AK/CR/1/2017/001?

CREATE TABLE clients 
(
    client_id INT AUTO_INCREMENT ,
    name VARCHAR (50),
    phone_no INT (11),
    plan_no VARCHAR (20),
    job_remark VARCHAR (12),
    quater INT,
    year DATE,
    PRIMARY KEY (client_id)
);

INSERT INTO clients (name, phone_no, plan_no, job_remark, quater, year,) 
VALUES (name= 'UAE GEO', phone_no= 07037695328, plan_no= 'GVC/AK/CR/1/2017/001', job_remark= 'revalidation', quater= 1, year= '2017-03-28');

Я получаю сообщение об ошибке:

ER_PARSE_ERROR: у вас ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса для использования рядом с ') VALUES (' UAE GEO ', 07037695328,' GVC / AK / CR / 1/2017/001 ',' revalidation ', 1, «20» в строке 1

1 Ответ

0 голосов
/ 15 апреля 2020

У вас есть ошибка в вашей инструкции вставки. Вам не нужно указывать имена столбцов внутри раздела Values (). Также у вас есть дополнительный трейлинг , в разделе столбцов. Следующее утверждение должно работать:

INSERT INTO clients (name, phone_no, plan_no, job_remark, quater, year) VALUES ( 'UAE GEO',  07037695328, 'GVC/AK/CR/1/2017/001', 'revalidation', 1, '2017-03-28')

РЕДАКТИРОВАТЬ

Поскольку столбец номера телефона выдает ошибку Out of range по причинам, которые вы можете найти здесь . Вместо этого вы можете использовать phone_no также как VARCHAR, чтобы исправить это.

CREATE TABLE clients 
(
    client_id INT AUTO_INCREMENT ,
    name VARCHAR (50),
    phone_no VARCHAR (11),
    plan_no VARCHAR (20),
    job_remark VARCHAR (12),
    quater INT,
    year DATE,
    PRIMARY KEY (client_id)
);

Пожалуйста, прочитайте do c для этого MySQL заявления

...