Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

126
Visualizações
Estoy tratando de crear Two Tables en sql.js pero hay un error con respecto a la restricción de clave externa. no hay problema en crear la primera tabla

Código de muestra

 <script> config = { locateFile: filename => `sql-wasm.wasm` } initSqlJs(config).then(function(SQL) { //Create the database const db = new SQL.Database(); //create first table - Questions (Parent Table) let question = "CREATE TABLE Questions(qid INT NOT NULL, qdesc CHAR, PRIMARY KEY(qid));\ INSERT INTO Questions VALUES(1, 'set1');\ INSERT INTO Questions VALUES(2, 'set2');\ INSERT INTO Questions VALUES(3, 'set3');\ INSERT INTO Questions VALUES(4, 'set4');\ INSERT INTO Questions VALUES(5, 'set5');"; db.run(question); const result = db.exec("SELECT * FROM Questions"); console.log(result); //create second Table - Qimages (Child Table) let qimage = "CREATE TABLE Qimages(img_id INT AUTO_INCREMENT, imgurl VARCHAR,FOREIGN KEY (qid) REFERENCES Questions(qid));\ INSERT INTO Qimages VALUES('https://www.w3schools.com/howto/img_woods.jpg',1);\ INSERT INTO Qimages VALUES('https://www.w3schools.com/howto/img_5terre.jpg',1);\ INSERT INTO Qimages VALUES('https://www.w3schools.com/howto/img_mountains.jpg',2);"; db.run(qimage); const res = db.exec("SELECT * FROM Qimages"); console.log(res); </script>

A continuación se muestra el error que estoy recibiendo

Error no capturado (en promesa): columna desconocida "qid" en la definición de clave externa

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Como dice el mensaje, no hay una columna qid en la tabla Qimages. Sospecho que quieres:-

 CREATE TABLE Qimages(img_id INT AUTO_INCREMENT, imgurl VARCHAR,qid INTEGER REFERENCES Questions(qid));

Por lo tanto, el valor de la columna qid (ahora definida), que usa la versión de nivel de columna de la declaración de restricción de clave externa, debe tener un valor correspondiente en la columna qid de la tabla de preguntas.

Alternativamente, podría usar: -

 CREATE TABLE Qimages(img_id INT AUTO_INCREMENT, imgurl VARCHAR,qid INTEGER, FOREIGN KEY (qid) REFERENCES Questions(qid));
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda