Учитывая надлежащие условия, представление идентификаторов не является угрозой безопасности. И на практике это было бы чрезвычайно обременительно для разработки веб-приложения, не представляя идентификаторов.
Вот некоторые хорошие правила следовать:
Измените вставку, чтобы она выглядела следующим образом:
insert into sample_elements (name,position,ownerel) select 'Namespace1',id,0 from sample_elements where name='Namespace1';
В основном вместо использования значений используйте только оператор select и вставляйте жестко закодированные значения в виде столбцов
Я не знаю mysql, но можете ли вы попробовать следующее?
insert into sample_elements select name, id, 0 from sample_elements where name='Namespace1'
Думаю, ты справишься. Вы можете использовать:
INSERT INTO table (..fields) SELECT ..fields.. FROM table;
Я не уверен. Я думаю, что эта вставка внутри select для поиска уже существует или для какой цели.
Спасибо