我正在尝试制作sql创建表,但无法创建外键。

我的代码:

Db::getInstance()->execute('

      CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'sondage`(
      `id` int(6) NOT NULL AUTO_INCREMENT,
      `question` varchar(60) NOT NULL,
      PRIMARY KEY(`id`)) ENGINE='._MYSQL_ENGINE_.' default CHARSET=utf8')

|| !Db::getInstance()->execute('

      CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'sondage_reponse`(
      `id` int(6) NOT NULL AUTO_INCREMENT,
      `champ1` int(4) NOT NULL,
      `champ2` int(4) NOT NULL,
      `champ3` int(4) NOT NULL,
      PRIMARY KEY(`id`)) ENGINE='._MYSQL_ENGINE_.' default CHARSET=utf8')


|| !Db::getInstance()->execute('

 INSERT INTO '._DB_PREFIX_.'sondage_reponse (champ1,champ2,champ3)
 VALUES (0,0,0)')


我想从“ sondage_reponse”中的“ sondage”外键中获取ID。我尝试了:

 ALTER TABLE ps_sondage_reponse
            ADD FOREIGN KEY fk_id_sdg(id)
            REFERENCES sondage(id)')


但是Prestashop无法添加外键。

谢谢

最佳答案

我想尝试一下:

ALTER TABLE ps_sondage_reponse
ADD CONSTRAINT FK_id_sdg
FOREIGN KEY (id) REFERENCES sondage(id)

关于php - 如何制作外键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35295844/

10-14 18:53
查看更多