Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / insert по условию / 7 сообщений из 7, страница 1 из 1
12.02.2016, 06:04:37
    #39169155
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert по условию
Структура таблиц -
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
-- ----------------------------
-- Table structure for `category`
-- ----------------------------
DROP TABLE IF EXISTS `category`;
CREATE TABLE `category` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `categoryName` varchar(50) DEFAULT NULL,
  `image` longblob,
  `imageName` varchar(50) DEFAULT NULL,
  `description` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of category
-- ----------------------------
INSERT INTO `category` VALUES ('1', 'ChildrensComputers', null, 'ChildrensComputers.png', 'Детские компьютеры');

-- ----------------------------
-- Table structure for `product`
-- ----------------------------
DROP TABLE IF EXISTS `product`;
CREATE TABLE `product` (
  `id` bigint(30) NOT NULL AUTO_INCREMENT,
  `category_id` int(10) NOT NULL,
  `price` bigint(30) NOT NULL,
  `productName` varchar(100) DEFAULT NULL,
  `productDescription` varchar(10000) DEFAULT NULL,
  `is_active` tinyint(2) NOT NULL,
  `manufacturer_country_id` int(10) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `fk_category_id` (`category_id`),
  KEY `fk_product_name_id` (`productName`),
  KEY `fk_product_description_id` (`productDescription`(255)),
  KEY `fk_category_manufacturer_id` (`manufacturer_country_id`),
  CONSTRAINT `fk_category_id` FOREIGN KEY (`category_id`) REFERENCES `category` (`id`) ON UPDATE CASCADE,
  CONSTRAINT `fk_category_manufacturer_id` FOREIGN KEY (`manufacturer_country_id`) REFERENCES `manufacturer_country` (`id`) ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;



Простой инсерт работает,
Код: sql
1.
2.
INSERT INTO `product` (`category_id`, `price`, `productName`, `productDescription`, `is_active`, `manufacturer_country_id`) 
VALUES ('1' , '1', '1', '1', '1', '1')



а вот правильно добавить условие не получается, нужна помощь в составлении запроса типа
Код: sql
1.
2.
3.
4.
5.
INSERT INTO `product` (`category_id`, `price`, `productName`, `productDescription`, `is_active`, `manufacturer_country_id`) 
VALUES (category.categoryName , '1', '1', '1', '1', '1')
SELECT category.categoryName 
FROM category 
WHERE category.categoryName='ChildrensComputers'
...
Рейтинг: 0 / 0
12.02.2016, 06:35:04
    #39169164
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert по условию
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
INSERT INTO `product` (`category_id`, `price`, `productName`, `productDescription`, `is_active`, `manufacturer_country_id`) 
VALUES (category.id , '1', '1', '1', '1', '1')
SELECT category.id 
FROM category 
WHERE category.categoryName='ChildrensComputers'


[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT category.id 
FROM category 
WHERE category.categoryName='ChildrensCompu' at line 3
...
Рейтинг: 0 / 0
12.02.2016, 06:52:34
    #39169170
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert по условию
AK1988,

...а вдруг прокатит...

Код: sql
1.
2.
3.
4.
INSERT INTO `product` (`category_id`, `price`, `productName`, `productDescription`, `is_active`, `manufacturer_country_id`) 
SELECT category.id  '1', '1', '1', '1', '1'
FROM category 
WHERE category.categoryName='ChildrensComputers'
...
Рейтинг: 0 / 0
12.02.2016, 06:55:59
    #39169171
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert по условию
javajdbc,
Код: sql
1.
2.
3.
4.
5.
6.
[SQL] INSERT INTO `product` (`category_id`, `price`, `productName`, `productDescription`, `is_active`, `manufacturer_country_id`) 
SELECT category.id  '1', '1', '1', '1', '1'
FROM category 
WHERE category.categoryName='ChildrensComputers'

[Err] 1136 - Column count doesn't match value count at row 1
...
Рейтинг: 0 / 0
12.02.2016, 06:59:55
    #39169175
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert по условию
AK1988
Код: sql
1.
2.
3.
4.
INSERT INTO `product` (`category_id`, `price`, `productName`, `productDescription`, `is_active`, `manufacturer_country_id`) 
SELECT category.id  '1', '1', '1', '1', '1'
FROM category 
WHERE category.categoryName='ChildrensComputers'



вот черт, не прокатило!

ну тогда запятую после category_id поставьте.
У меня в типографии наборшик уже пьяный.
Прошу его извинить....

SELECT category.id, '1', '1', '1', '1', '1'
...
Рейтинг: 0 / 0
12.02.2016, 07:00:55
    #39169176
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert по условию
javajdbc, запятой не было, спасибо!!!

Код: sql
1.
2.
3.
4.
5.
6.
7.
[SQL] INSERT INTO `product` (`category_id`, `price`, `productName`, `productDescription`, `is_active`, `manufacturer_country_id`) 
SELECT category.id, '1', '1', '1', '1', '1'
FROM category 
WHERE category.categoryName='ChildrensComputers'

Affected rows: 1
Time: 0.035ms
...
Рейтинг: 0 / 0
12.02.2016, 07:01:23
    #39169177
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insert по условию
AK1988javajdbc, запятой не было, спасибо!!!

Код: sql
1.
2.
3.
4.
5.
6.
7.
[SQL] INSERT INTO `product` (`category_id`, `price`, `productName`, `productDescription`, `is_active`, `manufacturer_country_id`) 
SELECT category.id, '1', '1', '1', '1', '1'
FROM category 
WHERE category.categoryName='ChildrensComputers'

Affected rows: 1
Time: 0.035ms




any time :-)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / insert по условию / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]