Это мой первый попыток совершить транзакцию, и я хочу сделать транзакцию для удаления всех немецких кораблей из таблицы классов, а также добавить новый столбец США в таблицу одновременно.
START TRANSACTION
-- Delete Germany from classes table
DELETE FROM classes WHERE country = 'Germany';
-- Add new ship for USA into classes table
INSERT INTO 'classes' ('class','type','country','numGuns','bore','displacement')
VALUES ('SS Farkas','bb','USA','10','20','36000');
-- Commit the transaction
commit;
Я получаю эту синтаксическую ошибку при попытке выполнить в начале моего оператора DELETE FROM:
Синтаксическая ошибка: "УДАЛИТЬ" (удалить) недействительный ввод в этом положении
вам не хватает ;
:
START TRANSACTION;
-- Delete Germany from classes table
DELETE FROM classes WHERE country = 'Germany';
-- Add new ship for USA into classes table
INSERT INTO 'classes' ('class','type','country','numGuns','bore','displacement')
VALUES ('SS Farkas','bb','USA','10','20','36000');
-- Commit the transaction
commit;
Удалить запрос действителен, но у вас есть ;
отсутствует.
START TRANSACTION
должно быть START TRANSACTION;
подробнее: https://dev.mysql.com/doc/refman/5.7/ru/commit.html
numGuns
,bore
,displacement
, вероятно, / мы надеемся, числовые столбцы, тогда вы должны предоставить числовые данные, а не строки:VALUES ('SS Farkas','bb','USA',10,20,36000)