0
我想用ALTER添加一個新的列(authorID)到測試表,但我想有一個特定的值(我不知道)。mysql改變表格添加列與選定
我想運行以下,但獲取SQL錯誤。這是可能的,如果是的話,請問我哪裏錯了?
SELECT id FROM authors WHERE emailAddress = 'UNASSIGNED' into @unassignedID;
ALTER TABLE Tests ADD COLUMN authorID INT NOT NULL DEFAULT @unassignedID;
作者表:
CREATE TABLE authors
(
ID INT NOT NULL AUTO_INCREMENT,
emailAddress VARCHAR(100) NOT NULL UNIQUE,
regionID INT NOT NULL,
PRIMARY KEY(ID)
);
測試表:
CREATE TABLE Tests
(
testID INT NOT NULL AUTO_INCREMENT,
Title VARCHAR(100) DEFAULT NULL,
PRIMARY KEY(testID)
);
不,它不喜歡的工作。在alter table之後,您需要插入或更新(取決於您在測試表中是否有記錄)。如果你需要插入,那麼使用'insert ... select ... instead'。您也無法將結果檢索到像這樣的會話變量中。 – Shadow