Intereting Posts
Не отображается PHP MySQL INSERT и не отображается какая-либо ошибка Запрос нескольких данных фан-страницы Facebook за один раз Войти всегда false на CakePHP 3 Калькулятор Codeigniter, откуда берутся эти ms? Оптимизация скорости разбивки по страницам в Doctrine 2.2 + Zend Framework Создание SOAP-вызова с использованием PHP с телом XML TinyMCE + JQuery + PHP + AJAX Специальный выпуск символов Запустить PHP-код внутри JavaScript? Будет ли это нормально использовать? php – удалить параметр «код» в URL-адресе facebook Как решить Missing аргумент 1 для App \ Repositories \ FavoriteRepository :: delete ()? (Laravel 5.3) Арабская передача данных между несколькими таблицами в разных базах MySQL, возвращающихся ???????? как новые значения Вытяните все изображения из указанного каталога, а затем отобразите их Как lazy загружать элементы из mysql db, как facebook и twitter (бесконечная прокрутка) Шифрование Blowfish в php Ошибка анализа Неожиданный (ожидается, в php при назначении файла содержимого статическому свойству

создание таблицы mysql из внутреннего соединения

Я пытаюсь создать таблицу mysql из внутреннего соединения между двумя другими таблицами. Я имею дело с созданной базой данных, которая имеет следующие таблицы:

  • sitematrix_sites
  • sitematrix_databases

Они связаны другой таблицей (я не знаю, почему не использовать внешний ключ), называемой sitematrix_sites_databases которая имеет следующие поля: site_id и database_id .

Вот как связаны две таблицы. Теперь я пытаюсь удалить это, чтобы облегчить мне жизнь, поэтому у меня есть:

 mysql> CREATE TABLE result AS(select * from sitematrix_databases INNER JOIN site matrix_site_databases ON sitematrix_site_databases.database_id = sitematrix_data bases.database_id); ERROR 1060 (42S21): Duplicate column name 'database_id' 

Однако я получаю эту ошибку. Кто-нибудь знает, как я могу объединить две таблицы без повторения поля database_id ?

благодаря

Related of "создание таблицы mysql из внутреннего соединения"

Удалите * в инструкции SELECT и фактически перечислите нужные столбцы в своей новой таблице. Для столбцов, которые отображаются в обеих исходных таблицах, также назовите эту таблицу (например, sitematrix_databases.database_id ).

Не используйте * вместо имени каждого столбца и используйте псевдонимы. Например, вместо sitematrix_database.database_id вы можете иметь alternativeName . Также вы можете выбрать, какие столбцы вы хотите и в этом направлении.

В SQL Server вы можете использовать «select into». Это может быть эквивалентный синтаксис для mySql:

К сожалению, это две команды (не только одна):

CREATE TABLE recipes_new LIKE production.recipes; INSERT recipes_new SELECT * FROM production.recipes;

Вместо использования SELECT * ... попробуйте SELECT database_id ...

MySQL не любит объединение таблиц с одинаковым именем столбца.