将多个值插入一列

时间:2014-01-12 16:49:59

标签: mysql

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;

1 个答案:

答案 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移至外部链接表,否则您将不得不为支持多种语言的公司复制大量数据。

相关问题