我有这张桌子:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
1. insert into persons values (1, 'John', 'Smith', 'LA', 'LA');
2. insert into persons (p_id, lastname, firstname, address, city) values (2, 'John', 'Smith', 'LV', 'LV');
Run Code Online (Sandbox Code Playgroud)
如何在不指定主键值的情况下将数据插入表中(主键没有"auto_increment"属性).
我尝试过:
- 插入人的价值观('约翰','史密斯','洛杉矶','洛杉矶');
- 插入人的价值观(null,'John','Smith','LA','LA');
- 插入人的价值观(汽车,'约翰','史密斯','洛杉矶','洛杉矶');
但没有运气
主键不能为空,如果你没有将它们设置为自动增量,那么MySQL如何知道你想要放在表中的内容?您需要指定ID(可能通过选择MAX(P_Id)并向其添加1)或将其设置为自动递增.
虽然简单地添加一个自动增量字段绝对是最好的方法,你可以尝试这样的事情:
INSERT INTO Persons (P_Id, FirstName, LastName, Address, City)
VALUES ((SELECT MAX(P_Id) + 1 FROM Persons), 'John', 'Smith', 'LA', 'LA');
Run Code Online (Sandbox Code Playgroud)
这使用了一个subselect,所以如果你使用旧版本的MySQL,它可能无法正常工作.
| 归档时间: |
|
| 查看次数: |
761 次 |
| 最近记录: |