我不知道这是否可能。
我发布了一个脚本版本1.0,现在我即将发布1.2版本,我在数据库表中做了一些升级,如更改名称字段大小或默认值,还添加了一些新的列和表,然后将完整的数据库导出到.sql文件(新数据库)。
有没有可能从PHP导入新的.sql文件并添加新的表,也可以在不删除表中任何数据的情况下更改列结构,并在现有表中添加新列?
我试图导入它,但它显示此错误:
ALTER TABLE table1
ADD PRIMARY KEY(id
);:定义了多个主键
范例:
旧数据库v1.0
表1
- ID(主键,AI)
- 名字(大小-50,默认值-无)
- 姓氏(大小-50,默认值-无)
- 电子邮件(大小-50,默认-无)
- 密码(大小-50,默认值-无)
新数据库v1.2
表1
- ID(主键,AI)
- 名字(大小-100,默认值-无)
- 姓氏(大小-100,默认值-无)
- 电子邮件(大小-255,默认-无)
- 密码(大小-50,默认值-无)
- 性别(尺寸10,默认-无)
新增表2
- ID(主键,AI)
- coloum 1(大小-100,默认值-无)
- coloum 2(大小-255,默认值-无)
是否可以在旧数据库上导入新的.sql而不丢失PHP中的任何数据,并从新数据库中添加数据?
我已经尽力解释了,希望你能理解。
编辑:我用这段代码导入新的.sql文件,它不工作:How do I import a .sql file in mysql database using PHP?
1条答案
按热度按时间gdrx4gfi1#
你得到这个消息是因为列id已经存在并且有KEY,如果它的PRIMARY KEY和autocremented那么它不能被复制,试试这个:
字符串
或者只导入新列