PHP создать команду копирования, как phpmyadmin

0

Я новичок в разработке PHP и просто задаюсь вопросом, существует ли существующая функция на PHP, чем дублировать команду copy на phpmyadmin, я знаю, что последовательность запросов ниже, но это похоже на длинный запрос/код, поскольку в таблице есть много столбцов. я имею в виду, если phpmyadmin имеет эту функцию, может быть, это вызов функции сборки?

SELECT * FROM table where id = X
INSERT INTO table (XXX)VALUES(XXX)
Where the information is based from the SELECT query

Примечание. Идентификатор является основным и автоматически увеличивается.

Вот команда копирования на phpmyadmin

Изображение 174551

Теги:
phpmyadmin

1 ответ

2
Лучший ответ

я имею в виду, если phpmyadmin имеет эту функцию, может быть, это вызов функции сборки?

В MySQL нет встроенных функций для дублирования строки, отличной от INSERT формы: INSERT INTO tableName ( columns-specification ) SELECT columns-specification FROM tableName WHERE primaryKeyColumns = primaryKeyValue.

Проблема заключается в том, что вам нужно знать имена столбцов заранее, вам также необходимо исключить столбцы auto_increment, а также столбцы первичного ключа и знать, как придумать "умные значения по умолчанию" для столбцов первичного ключа auto_increment non- особенно составные. Вам также нужно будет рассмотреть, должны ли выполняться какие-либо триггеры - и как обрабатывать любые ограничения и индексы, которые могут быть разработаны для предотвращения дублирования значений, которые может быть реализована "копией".

Вы все еще можете сделать это в PHP или даже в чистом-MySQL (внутри sproc, используя Dynamic SQL), но вам нужно запросить information_schema для получения метаданных о вашей базе данных, что может быть больше проблем, чем стоит.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню