#mysql #sql
#mysql #sql
Вопрос:
1.Select data from table
2.If data not found then insert data into that table with last record data using 1
Table name = demo
Query = Select * from demo where user_id = test4 if not then insert into demo values ('test4','port1 1','port2 1','port3 1','port4 1');
Пример :
---- -------------------------------- ------------ ---------- ----------- ---------
| id | user_id | port1 | port2 | port3 | port4 |
---- -------------------------------- ------------ ---------- ----------- ---------
| 1 | test1 | 27 | 72 | 58 | 65 |
---- -------------------------------- ------------ ---------- ----------- ---------
Мне нужен вывод, подобный этому:
---- -------------------------------- ------------ ---------- ----------- ---------
| id | user_id | port1 | port2 | port3 | port4 |
---- -------------------------------- ------------ ---------- ----------- ---------
| 1 | test1 | 27 | 72 | 58 | 65 |
---- -------------------------------- ------------ ---------- ----------- ---------
| 2 | test4 | 28 | 73 | 59 | 66 |
---- -------------------------------- ------------ ---------- ----------- ---------
Комментарии:
1. Какой запрос для выбора данных с первого шага?
2. @Jaykishan Solanki: Сработал ли для вас ответ, который я опубликовал?
Ответ №1:
Если я правильно понял, и моя первая попытка была бы,
Тестовые данные:
CREATE TABLE demo (
id INT AUTO_INCREMENT,
user_id VARCHAR(50) NOT NULL,
port1 int,
port2 int,
port3 int,
port4 int,
PRIMARY KEY (id)
);
insert into demo(user_id,port1,port2,port3,port4)
values('Test1',10,20,30,40),
('Test2',100,200,300,400)
insert into demo(user_id,port1,port2,port3,port4)
select 'Test4',port1 1,port2 1,port3 1,port4 1
from demo
where user_id != 'Test4'
and not exists (select 1 from demo where user_id = 'Test4')
order by id desc
limit 1