gpt4 book ai didi

mysql - SQL - 'char' auto_increment 问题

转载 作者:行者123 更新时间:2023-11-29 20:54:00 24 4
gpt4 key购买 nike

我目前正在尝试使用 SQL 文件将表添加到 phpMyAdmin 中的数据库,然后用数据填充它。我已经在很多场合成功地做到了这一点,但我遇到了一个严重的问题,无论我尝试什么,我都找不到解决方案。以前我使用“int”作为主键类型,但现在必须使用“char”作为主键类型。这似乎就是问题的根源。我在网上查看并尝试了几种解决方案,但结果都不同。所有结果都等于失败。

我在下面展示了我的原始代码,该代码失败了,导致我也在网上寻找解决方案,但也无济于事。

--
-- Table structure for table `practice`
--

CREATE TABLE `practice` (
`practice_Id` char(2) NOT NULL auto_increment,
`Practice_Name` varchar(20) NOT NULL,
`Practice_Address` varchar(50) NOT NULL,
PRIMARY KEY (`practice_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `practice`
--

INSERT INTO `practice` VALUES(P1, 'Practice Head Office', '27, The Hill, Glasgow');
INSERT INTO `practice` VALUES(P2, 'Practice Unit 1', 'Unit 1, Houston Estate, Glasgow');

当我尝试将此文件导入到我的数据库时,我收到以下响应:

#1063 - Incorrect column specifier for column 'practice_Id' 

现在我在这个网站上找到了解决方案。只需将 unsigned 添加到 auto_increment 中,它就应该像 auto_increment 适用于整数和 float 一样工作。我将其添加到文件中,然后尝试再次导入它。这再次失败,给我带来了更多错误,如下所示:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'unsigned auto_increment,
`Practice_Name` varchar(20) NOT NULL,
`Practice_Add' at line 6

我尝试单独使用 unsigned 忽略 auto_increment,但得到了与上面相同的结果。

我真的需要帮助,因为这似乎不可能通过。没有语法错误,所以没有意义。有任何问题尽管问,但我已将我的尝试和我找到的所有解决方案放在上面。我还有其他存在此问题的 sql 文件,所以这对我和我的上一份工作来说确实是一个巨大的障碍。

最佳答案

不可能通过。自动增量仅适用于数字字段。从语义上讲,“递增”字符串是没有意义的。是的,你可以说

'x' + 1 = 'y'

对于单个字符,但是如何增加一个字符字符串?你会如何评估

"Bob" + 3

例如?

关于mysql - SQL - 'char' auto_increment 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37777918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com