练习 41:SQL 更新
UPDATE person SET first_name = "Hilarious Guy"
WHERE first_name = "Zed";
UPDATE pet SET name = "Fancy Pants"
WHERE id=0;
SELECT * FROM person;
SELECT * FROM pet;复杂表的更新
更新数据
挑战练习
Last updated
UPDATE person SET first_name = "Hilarious Guy"
WHERE first_name = "Zed";
UPDATE pet SET name = "Fancy Pants"
WHERE id=0;
SELECT * FROM person;
SELECT * FROM pet;Last updated
SELECT * FROM pet;
UPDATE pet SET name = "Zed's Pet" WHERE id IN (
SELECT pet.id
FROM pet, person_pet, person
WHERE
person.id = person_pet.person_id AND
pet.id = person_pet.pet_id AND
person.first_name = "Zed"
);
SELECT * FROM pet;/* This should fail because 0 is already taken. */
INSERT INTO person (id, first_name, last_name, age)
VALUES (0, 'Frank', 'Smith', 100);
/* We can force it by doing an INSERT OR REPLACE. */
INSERT OR REPLACE INTO person (id, first_name, last_name, age)
VALUES (0, 'Frank', 'Smith', 100);
SELECT * FROM person;
/* And shorthand for that is just REPLACE. */
REPLACE INTO person (id, first_name, last_name, age)
VALUES (0, 'Zed', 'Shaw', 37);
/* Now you can see I'm back. */
SELECT * FROM person;