У меня проблема с командой «ОБНОВИТЬ» в MySQL - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть вопрос об "ОБНОВЛЕНИИ" в моем sql; У меня есть эти данные:

create database execicios
default character set utf8
default collate utf8_general_ci;


create table if not exists contas_a_receber(
 Nome char(40),
 Numero int not null,
 Valor decimal(10,2),
 Vencimento date,
 Banco char(10),
 primary key (Numero)
)default charset = utf8;


insert into contas_a_receber values
('ABC PAPELARIA', '100100', '5000.00', '2017-01-20', 'ITAU'),
('LIVRARIA FERNANDES', 100110, 2500.00, '2017-01-22', 'ITAU'),
('LIVRARIA FERNANDES', '100120', '1500.00', '2016-10-15', 'BRADESCO'),
('ABC PAPELARIA', '100130', '8000.00', '2016-10-15', 'SANTANDER'),
('LER E SABER', '200120', '10500.00', '2018-04-26', 'BANCO DO BRASIL'),
('LIVROS E CIA', '200125', '2000.00', '2018-04-26', 'BANCO DO BRASIL'),
('LER E SABER', '200130', '11000.00', '2018-09-26', 'ITAU'),
('PAPELARIA SILVA', '250350', '1500.00', '2018-01-26', 'BRADESCO'),
('LIVROS MM', '250360', '500.00', '2018-12-18', 'SANTANDER'),
('LIVROS MM', '250370', '3400.00', '2018-04-26', 'SANTANDER'),
('PAPELARIA SILVA', '250380', '3500.00', '2018-04-26', 'BANCO DO BRASIL'),
('LIVROS E CIA', '453360',  '1500.00', '2018-06-15', 'ITAU'),
('LIVROS MM', '453365', '5400.00', '2018-06-15', 'BRADESCO'),
('PAPELARIA SILVA', '453370', '2350.00', '2017-12-27', 'ITAU'),
('LIVROS E CIA', '453380', '1550.00', '2017-12-27', 'BANCO DO BRASIL'),
('ABC PAPELARIA', '980130', '4000.00', '2016-12-11', 'ITAU'),
('LIVRARIA FERNANDES', '770710', '2500.00', '2016-11-15', 'SANTANDER'),
('ABC PAPELARIA', '985001', '3000.00', '2016-09-11', 'ITAU'),
('PAPEL E AFINS', '985002', '2500.00', '2016-03-12', 'SANTANDER'),
('LER E SABER', '888132', '2500.00', '2017-03-05', 'ITAU');

Я хочу изменить все слова, написанные «SANTANDER» для «BANCO DO BRASIL» Я пытался использовать команду UPDATE, но не работает

Команда что я использовал:

set Banco = 'BANCO DO BRASIL'
where Banco like 'SANTANDER';

Сомоне может мне помочь?

1 Ответ

1 голос
/ 03 апреля 2020

Использование UPDATE contas_a_receber set Banco = 'BANCO DO BRASIL' where Banco like 'SANTANDER%';

В столбце Banco datatype указан тип char (10), а не varchar (10), что означает, что база данных будет заполняться пробелом до 10 символов, например "SANTANDER".

Еще одна вещь, BANCO DO BRASIL имеет более 10 символов, поэтому он будет обрезаться или потерпеть неудачу. Вам нужно изменить его, чтобы разрешить более 10 символов:

ALTER TABLE contas_a_receber MODIFY Banco varchar(50)

Но убедитесь, что это не повлияет на вашу систему.

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