Ошибка 3734 mysql

SQLSTATE[HY000]: General error: 3734 Failed to add the foreign key constraint. Missing column 'id' for constraint 'posts_user_id_foreign' in the referenced table 'users' (SQL: alter table `posts` add constraint `posts_user_id_foreign` foreign key (`user_id`) references `users` (`id`))

  at D:multimedia-projects-main (1)multimedia-projects-mainjobsearchvendorlaravelframeworksrcIlluminateDatabaseConnection.php:761
    757▕         // If an exception occurs when attempting to run a query, we'll format the error
    758▕         // message to include the bindings with SQL, which will make this exception a
    759▕         // lot more helpful to the developer instead of just the database's errors.
    760▕         catch (Exception $e) {
  ➜ 761▕             throw new QueryException(
    762▕                 $query, $this->prepareBindings($bindings), $e
    763▕             );
    764▕         }
    765▕     }

  1   D:multimedia-projects-main (1)multimedia-projects-mainjobsearchvendorlaravelframeworksrcIlluminateDatabaseConnection.php:546
      PDOException::("SQLSTATE[HY000]: General error: 3734 Failed to add the foreign key constraint. Missing column 'id' for constraint 'posts_user_id_foreign' in the referenced table 'users'")

  2   D:multimedia-projects-main (1)multimedia-projects-mainjobsearchvendorlaravelframeworksrcIlluminateDatabaseConnection.php:546
      PDOStatement::execute()

my code look like this for the foreign
public function up()

    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id('post_id')->unique()->nullable(false);
            $table->biginteger('user_id')->unasigned()->index();         
            $table->biginteger('company_id')->unasigned()->index();          
            $table->biginteger('job_id')->unasigned()->index();          
            $table->timestamps();
        });
        Schema::table('posts', function($table) {
            $table->foreign('user_id')->references('id')->on('users');
            $table->foreign('company_id')->references('id')->on('companies');
             $table->foreign('job_id')->references('id')->on('jobs');
        });
    }

this is for the user

    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id('user_id');
            $table->string('name');
            $table->string('email')->unique();
            $table->foreignid('companyid');
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

the rest is similar

already try to change the foreign key into big integer and to integer already try to change the name of the foreign reference but still not working

Getting error 3734, failed to add foreign key constraint (New to SQL)

Hi there sorry if this is a stupid question but I’m new to sql, getting the error 3734

CREATE TABLE orderDetails (
orderNumber INT (10) NOT NULL,
quantityOrdered int(10) NOT NULL,
priceEach decimal (10,2) NOT NULL,
orderLineNumber INT (10) NOT NULL,
productCode VARCHAR(100) NOT NULL,
PRIMARY KEY (orderNumber),
KEY productCode (productCode),
CONSTRAINT orderdetails_asdf_1 FOREIGN KEY (productCode) 
REFERENCES product (productCode)
ON UPDATE CASCADE
);

CREATE TABLE product (
productCode VARCHAR(100) NOT NULL,
orderNumber INT NOT NULL,
orderDate DATE NOT NULL,
requiredDate DATE NOT NULL,
shippedDate DATE NOT NULL,
orderStatus varchar(10) NOT NULL,
Comments VARCHAR(100) NOT NULL,
customerNumber INT NOT NULL,
PRIMARY KEY (orderNumber),
KEY productCode (productCode),
CONSTRAINT orderdetails_asdf_1 FOREIGN KEY (productCode) 
REFERENCES orderDetails (productCode)
ON UPDATE CASCADE
) ;

Error code 3734, Failed to add the foreign key constraint. Missing column productCode for constraint orderDetails_asdf_1 in the referenced table ‘product’

#mysql

#mysql

Вопрос:

Работаю над небольшой базой данных, собирающей новые версии в разных странах. Все работало нормально, пока я не изменил название Country на countryRel . он начал выдавать этот код ошибки Код ошибки: 3734.

Я уже перепробовал большинство других онлайн-справок, которые я могу найти (например, сделать первичный ключ уникальным), а также возился с переменными (добавляя новые или удаляя их, чтобы увидеть, что изменилось, обычно это просто выдает эту ошибку Код ошибки: 1822) Я поместил свой кодвозвращаясь к тому, как я хочу, я бы в основном хотел, чтобы это осталось. есть идеи?

 create table countries ( counId int unique, countryName varchar(15), primary key(counId));
insert into countries Values (1, 'Japan'),(2, 'America'),(3,'England'),(4,'Germany'),(5,'Canada'),(6,'China');
select * from countries;

drop table countryRel;

create table countryRel (novelId int, counId int, releaseDate date, foreign key(novelId) references 
Lightnovel(novelId), foreign key(counId) references countries(counId));
insert into countryRel values (1, 1, '2019-1-17'),(2, 1, '2019-1-17'),(3, 1, '2019-5-17'),(4, 1, '2019-1-17'),
(5, 1, '2019-1-17'),(6, 1, '2019-1-01'),(7, 1, '2019-1-01'),(8, 1, '2019-2-09'),(9, 1, '2019-2-09'),(1, 2, '2019-9-17'),
(2, 2, '2019-9-20'),(3, 2, '2019-10-10'),(4, 2, '2019-11-21'),(5, 2, '2019-8-04'),(6, 2, '2019-08-04'),
(7, 2, '2019-1-01'),(8, 2, '2019-11-21'),(9, 2, '2019-9-14'),(1, 3, '2019-9-17'),(2, 3, '2019-9-20'),
(3, 3, '2019-10-10'),(4, 3, '2019-11-21'),(5, 3, '2019-8-04'),(6, 3, '2019-08-04'),(7, 3, '2019-1-01'),
(8, 3, '2019-11-21'),(9, 3, '2019-9-14');
  

Это должно создать небольшой список таблиц из 1-6 перечисленных стран. Затем, используя counId в качестве основного модуля, передайте его в CountryRel для использования в перечисленных таблицах.

Комментарии:

1. Вам необходимо создать Lightnovel таблицу, прежде чем вы сможете создать countryRel таблицу dbfiddle.uk /…

2. мой плохой, я поделился только тем, что было подходящим кодом, у меня есть таблица lightnovel, и я не чувствовал, что это поможет в этом обсуждении.

3. здесь: создайте таблицу Lightnovel (authId int, novelId int, ТЕКСТ заголовка, ТЕКСТ описания, издатель varchar(45), дата выпуска, первичный ключ (novelId), внешний ключ (authId) ссылается на автора (authId));

4. Это не помогает, поскольку ссылается на другую таблицу author , для которой вы не дали определения. Мы не сможем помочь вам решить вашу проблему, если вы не предоставите нам всю необходимую информацию.

5. создайте таблицу author(authId int, FirstName varchar(30), LastName varchar(30), nationality varchar(15), дата первого выпуска, booknum int, первичный ключ (authId));

Ответ №1:

Я проверил и обнаружил, что вы добавляете 2 внешних ключа, но вы не отправили определение таблицы для второго (Lightnovel), если я удаляю этот сценарий внешнего ключа, он работает нормально. Пожалуйста, добавьте таблицу Lightnovel, тогда все будет работать нормально.

Комментарии:

1. все еще пытаюсь найти лучший способ использовать систему комментариев переполнения стека (с двумя из них) вот моя таблица, я не добавил ее в эту тему, потому что я не чувствовал, что это уместно для обсуждения (моя ошибка): here: create table Lightnovel (authId int, novelId int, titleТЕКСТ, описание ТЕКСТА, издатель varchar(45), дата выпуска, первичный ключ (novelId), внешний ключ (authId) ссылается на автора (authId));

Я работаю над MySQL WorkBench и все время получаю код ошибки 3734: не удалось добавить ограничение внешнего ключа. Что означает эта ошибка и могу ли я исправить эту ошибку? Я все время получаю ошибку с таблицей бронирования вилл.

     create table Reservation
(
ReservationID char(5) primary key,
ReservationDate date,
CustomerID char(5),
foreign key (CustomerID) references Customer (CustomerID)
);

create table Villa
(
VillaID char(5) primary key,
VillaName varchar(40),
VillaCostPerDay int(3), 
VillaTypeID char(5),
foreign key (VillaTypeID) references VillaType (VillaTypeID)
);

``create table VillaReservation
    (
    VillaReservationID char(5),
    VillaID char(5),
    DateFrom datetime,
    DateTo datetime,
    primary key (VillaReservationID, VillaID),
    foreign key (VillaReservationID) references Reservation(VillaReservationID),
    foreign key (VillaID) references Villa(VillaID)
    );

Comments

@tinah-1973

@nwcm
nwcm

mentioned this issue

Feb 17, 2023

3 tasks

nwcm

added a commit
to nwcm/liquibase
that referenced
this issue

Feb 20, 2023

@nwcm

@nwcm
nwcm

mentioned this issue

Feb 20, 2023

3 tasks

nwcm

added a commit
to nwcm/liquibase
that referenced
this issue

Feb 20, 2023

@nwcm

nwcm

added a commit
to nwcm/liquibase
that referenced
this issue

Feb 21, 2023

@nwcm

@FBurguer
FBurguer

linked a pull request

Feb 28, 2023

that will
close
this issue

3 tasks

filipelautert

pushed a commit
that referenced
this issue

Mar 17, 2023

@nwcm

@MalloD12

* fix MySQL ENUM and SET bug #3734

* - ENUM integration test added for MySQL
- CommandUtil class created with different command methods to keep them in a single place

* - Generate changelog tests updated to make use of a command util class
- Command util refactoring with latest command step framework udpates

---------

Co-authored-by: Daniel Mallorga <dmallorga@liquibase.com>

Понравилась статья? Поделить с друзьями:
  • Ошибка 3714 газель некст
  • Ошибка 3714 газель камминз
  • Ошибка 3704 бартендер
  • Ошибка 3703 codesys
  • Ошибка 3702 sql server