Могу ли я проверить условие, а затем вставить значение в таблицу в SQL - PullRequest
0 голосов
/ 13 мая 2019

Я начинающий. Так что я чего-то не знаю. Я пытаюсь вставить значение. Но я не могу. Так что мне нужна твоя помощь.

Мой код:

INSERT INTO company_user (stamp_img) values ('test.png') SELECT * FROM company_user WHERE company_register = '123456789';

Но выберите,

синтаксическая ошибка: выбор недопустим в этой позиции.

Как проверить состояние. Я хочу проверить регистр, а затем вставить значение.

Так что, когда я пишу

`INSERT INTO company_user (stamp_img) values ('test.png')`

Код ошибки: 1062. Повторяющаяся запись '' для ключа 'company_register_UNIQUE'

Что мне делать? Структура таблицы

1 : enter image description here

Ответы [ 3 ]

0 голосов
/ 13 мая 2019

В дополнение к @ Lelio

Вы пытаетесь сначала вставить данные, а затем хотите проверить, вставлены ли данные или нет?

Выполнить следующие запросы непосредственно в окне запроса и посмотреть, если этовы ищете.

INSERT INTO `company_user` ('stamp_img') values ('test.png');

Если это УНИКАЛЬНОЕ ограничение ключа, проверьте INSERT, изменив значение stamp_img на что-то другое, например test123.png и т. д., если измените содержимое вашего запроса.Затем вы должны обновить ограничение, которое соответствует вашим требованиям

SELECT * FROM company_user WHERE company_register = '123456789';
0 голосов
/ 13 мая 2019

Эта вставка успешна только в том случае, если в company_user есть запись с регистрацией компании как «123456789»


INSERT INTO company_user (stamp_img)  (SELECT 'test.png' FROM company_user WHERE company_register = '123456789');




0 голосов
/ 13 мая 2019

Возможно, вы ищете обновление таблицы. Поэтому вы должны использовать оператор UPDATE:

UPDATE company_user SET stamp_img = 'test.png' WHERE company_register = '123456789';

Это изменит строку в вашей таблице, где company_register равен 123456789, установив stamp_img в test.png.

Это то, что вы ищете?

...