INSERT INTO `d41973sd**`.`Firma` (`id`, `name`, `regNr`, `email`, `mtel`, `location_id`, `address`, `indeks`, `web`, `logo`, `language_id`, `category_id`) VALUES (NULL, 'Stalker', '123456', 'stalker@gmail.com', '5535557', '1', 'Tuve 54/1', '12918', 'www.stalker.ee', 'stalker.jpg', ('1','3'), '2');
但我有错误,因为这个('1','3')。 我如何在一列中插入多个值???
CREATE TABLE Languages (
language_id INT AUTO_INCREMENT,
language VARCHAR(255) NOT NULL,
CONSTRAINT PK_firma PRIMARY KEY (language_id)
);
CREATE TABLE Firma (
id INT AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
language_id INT NOT NULL,
CONSTRAINT PK_id PRIMARY KEY (id),
CONSTRAINT FK_language_id FOREIGN KEY (language_id)
REFERENCES Languages (language_id),
)
AUTO_INCREMENT = 100;
答案 0 :(得分:0)
您可以将其作为字符串传递,例如:
INSERT INTO `Firma`
(`id`, `name`, `regNr`, `email`, `mtel`, `location_id`, `address`, `indeks`,
`web`, `logo`, `language_id`, `category_id`)
VALUES
(NULL, 'Stalker', '123456', 'stalker@gmail.com', '5535557', '1', 'Tuve 54/1',
'12918', 'www.stalker.ee', 'stalker.jpg', '1,3', '2');
当然,这将假设PK 1,3
存在一种语言,以便您的外键约束能够正常工作......
在数据库字段中存储以逗号分隔的值不是一个好主意。它表现出糟糕的设计,并且会使以后的数据处理非常困难。您应该将languages
移至外部链接表,否则您将不得不为支持多种语言的公司复制大量数据。