Вставка значений инкремента в столбец SQL
Привет, Ребята. Я новичок в SQL. У меня есть 2 столовых автомобиля и карты.
Table: Vehicle ID_Vehicles(Pk) 137 138 139 140
Table: Cards ID_Cards(Pk) VehiclesID(Fk) 338 137 339 138 340 NULL 341 NULLЯ хотел обновить ID_vehicles(первичный ключ) в таблице транспортных средств до VehiclesID(внешний ключ) в таблице карт.
Такое что
В карточном столе.
ID_cards 340 будет ссылаться на VehiclesID 139
341 будет ссылаться на VehiclesID 140
342 будет ссылаться на VehiclesID 141 ...
и ссылка продолжается до тех пор, пока все ID_cards не будут связаны с vehiclesID.
Должен ли я использовать функцию insert для вставки значений инкремента в столбец vehiclesID в таблице карт?
Любая добрая душа, готовая помочь новичку в SQL здесь, пожалуйста, посоветуйте.
Если это неправильный форум, чтобы спросить. Пожалуйста, посоветуйте, на какой сайт я могу отправить сообщение?[Введите описание изображения здесь][1]
Что я уже пробовал:
Мои коды как показано ниже:
DECLARE @IncrementValue int SET @IncrementValue = 139 UPDATE CARDS SET VehiclesID = @IncrementValue,@IncrementValue=@IncrementValue+1 where ID_CARDS between 340 and 537 However error message prompted below: The UPDATE statement conflicted with the FOREIGN KEY constraint "FK_CARDS_VEHICLESID" The conflict occurred in database "HECPOLL", table "dbo.VEHICLES", column 'ID_VEHICLES'
Ziee-M
Вам просто нужно установить поле id в качестве автоинкремента в вашей таблице, база данных автоматически увеличит значения при вставке новой строки.
Поскольку это автоинкремент, вам не нужно передавать идентификатор.
вот ссылка w3 : https://www.w3schools.com/sql/sql_autoincrement.asp