我正在尝试制作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/